bionic (3) base64.3tcl.gz

Provided by: tcllib_1.19-dfsg-2_all bug

NAME

       base64 - base64-encode/decode binary data

SYNOPSIS

       package require Tcl  8

       package require base64  ?2.4.2?

       ::base64::encode ?-maxlen maxlen? ?-wrapchar wrapchar? string

       ::base64::decode string

________________________________________________________________________________________________________________

DESCRIPTION

       This package provides procedures to encode binary data into base64 and back.

       ::base64::encode ?-maxlen maxlen? ?-wrapchar wrapchar? string
              Base64  encodes  the  given  binary  string  and returns the encoded result. Inserts the character
              wrapchar every maxlen characters of output. wrapchar defaults to newline. maxlen defaults to 76.

              Note that if maxlen is set to 0, the output will not be wrapped at all.

              Note well: If your string is not simple ascii you should fix  the  string  encoding  before  doing
              base64 encoding. See the examples.

              The  command  will  throw  an  error for negative values of maxlen, or if maxlen is not an integer
              number.

       ::base64::decode string
              Base64 decodes the given string and returns the binary data.  The decoder  ignores  whitespace  in
              the string.

EXAMPLES

              % base64::encode "Hello, world"
              SGVsbG8sIHdvcmxk

              % base64::encode [string repeat xyz 20]
              eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6
              eHl6eHl6eHl6
              % base64::encode -wrapchar "" [string repeat xyz 20]
              eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6eHl6

              # NOTE: base64 encodes BINARY strings.
              % set chemical [encoding convertto utf-8 "C\u2088H\u2081\u2080N\u2084O\u2082"]
              % set encoded [base64::encode $chemical]
              Q+KCiEjigoHigoBO4oKET+KCgg==
              % set caffeine [encoding convertfrom utf-8 [base64::decode $encoded]]

BUGS, IDEAS, FEEDBACK

       This  document,  and  the package it describes, will undoubtedly contain bugs and other problems.  Please
       report such in the category base64 of the Tcllib Trackers [http://core.tcl.tk/tcllib/reportlist].  Please
       also report any ideas for enhancements you may have for either package and/or documentation.

       When proposing code changes, please provide unified diffs, i.e the output of diff -u.

       Note  further  that  attachments  are strongly preferred over inlined patches. Attachments can be made by
       going to the Edit form of the ticket immediately after its creation, and then using the left-most  button
       in the secondary navigation bar.

KEYWORDS

       base64, encoding

CATEGORY

       Text processing

       Copyright (c) 2000, Eric Melski
       Copyright (c) 2001, Miguel Sofer