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