Provided by: golf_601.4.41-1_amd64 bug

NAME

       encode-base64 -  (base64)

PURPOSE

       Base64 encode.

SYNTAX

           encode-base64 <data> to <output data> \
               [ input-length <input length> ]

DESCRIPTION

       encode-base64 will encode string <data> into base64 string <output data>.

       If  "input-length"  clause  is  used,  then  <input length> is the number of bytes encoded, otherwise the
       entirety of <data> is encoded.

       The result is stored in <output data> (in "to" clause).

       Base64-encoded strings are often used where binary data needs to  be  in  a  format  that  complies  with
       certain  text-based  protocols,  such  as  in attaching documents in email, or embedding binary documents
       (such as "JPG" images for example) in web pages with "data:image/jpg;base64..." specified, etc.

EXAMPLES

       An example that encodes a string, decodes, and finally checks if they match:

           // Original string, generally this would be binary data in most cases
           set-string dt ="  oh well  "

           // Encode in base64
           encode-base64 dt to out_dt

           decode-base64 out_dt to new_dt

           if-true dt equal new_dt
               @Success!
           else-if
               @Failure!
           end-if

       In the next example, "input-length" clause is used, and only a partial of the input  string  is  encoded,
       then later compared to the original:

           // Original string, generally this would be binary data in most cases
           set-string dt ="  oh well  "

           // Encode in base64, encode only 6 bytes
           encode-base64 dt input-length 6 to out_dt

           decode-base64 out_dt to new_dt

           // Get length of decoded string
           string-length new_dt to new_len

           if-true new_len not-equal 6
               @Failure!
           else-if
               @Success!
           end-if

           if-true dt equal new_dt length new_len
               @Success!
           else-if
               @Failure! [<<print-out dt>>] [<<print-out new_dt>>]
           end-if

SEE ALSO

        Base64

       decode-base64 encode-base64 See all documentation

$DATE                                               $VERSION                                           GOLF(2gg)