uuencode - UU-encode/decode binary data
Contents
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 TcllibTrackers [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 unifieddiffs, 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.
Category
Text processing
Copyright
Copyright (c) 2002, Pat Thoyts
tcllib 1.1.6 uuencode(3tcl)
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::encodestring
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::decodestring
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 ?-namestring? ?-modeoctal? (-filefilename | ?--? string)
::uuencode::uudecode (-filefilename | ?--? 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.
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}}
Keywords
encoding, uuencode
Name
uuencode - UU-encode/decode binary 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).
Synopsis
package require Tcl8.59
package require uuencode?1.1.6?::uuencode::encodestring::uuencode::decodestring::uuencode::uuencode ?-namestring? ?-modeoctal? (-filefilename | ?--? string)
::uuencode::uudecode (-filefilename | ?--? string)
________________________________________________________________________________________________________________
