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

NAME

       uuencode - UU-encode/decode binary data

SYNOPSIS

       package require Tcl  8

       package require uuencode  ?1.1.4?

       ::uuencode::encode string

       ::uuencode::decode string

       ::uuencode::uuencode ?-name string? ?-mode octal? (-file filename | ?--? string)

       ::uuencode::uudecode (-file filename | ?--? string)

________________________________________________________________________________________________________________

DESCRIPTION

       This  package  provides  a  Tcl-only  implementation  of  the  uuencode(1) and uudecode(1) commands. This
       encoding packs binary data into printable ASCII characters.

       ::uuencode::encode string
              returns the uuencoded data. This will encode all the data passed in even if this  is  longer  than
              the  uuencode  maximum  line  length.  If  the  number  of input bytes is not a multiple of 3 then
              additional 0 bytes are added to pad the string.

       ::uuencode::decode string
              Decodes the given encoded data. This will return any padding characters as  well  and  it  is  the
              callers  responsibility  to  deal  with  handling  the  actual  length  of  the encoded data. (see
              uuencode).

       ::uuencode::uuencode ?-name string? ?-mode octal? (-file filename | ?--? string)

       ::uuencode::uudecode (-file filename | ?--? string)
              UUDecode a file or block of data. A file may contain more than one embedded file so the result  is
              a list where each element is a three element list of filename, mode value and data.

OPTIONS

       -filename name
              Cause  the uuencode or uudecode commands to read their data from the named file rather that taking
              a string parameter.

       -name string
              The uuencoded data header line contains the suggested file name to  be  used  when  unpacking  the
              data. Use this option to change this from the default of "data.dat".

       -mode octal
              The  uuencoded data header line contains a suggested permissions bit pattern expressed as an octal
              string. To change the default of 0644 you can  set  this  option.  For  instance,  0755  would  be
              suitable for an executable. See chmod(1).

EXAMPLES

              % set d [uuencode::encode "Hello World!"]
              2&5L;&\\@5V]R;&0A

              % uuencode::uudecode $d
              Hello World!

              % set d [uuencode::uuencode -name hello.txt "Hello World"]
              begin 644 hello.txt
              +2&5L;&\@5V]R;&0`
              `
              end

              % uuencode::uudecode $d
              {hello.txt 644 {Hello World}}

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

       encoding, uuencode

CATEGORY

       Text processing

COPYRIGHT

       Copyright (c) 2002, Pat Thoyts