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.
KEYWORDS¶
encoding, uuencode
CATEGORY¶
Text processing
COPYRIGHT¶
Copyright (c) 2002, Pat Thoyts