UUENCODE(1)

NAME
uuencode, uudecode - encode/decode a binary file

SYNOPSIS
uuencode [-m] [inputfile] headername
uudecode [-m] [-p | -o outputfile] [encoded-file ...]

DESCRIPTION
uuencode and uudecode are used to transmit binary files over transmission mediums that do not support other than simple ASCII data.

The following options are available:

-m  Use base64 encoding. For uuencode, the historical uuencode algorithm is the default. For uudecode, by default the encoding is automatically detected.

-o outputfile
    (uudecode only.) Send the decoded output data to outputfile. By default, uudecode uses the headername recorded in the header of the encoded data stream.

-p  (uudecode only.) Write the decoded file to standard output instead of to a file.

uuencode reads inputfile (or by default the standard input) and writes an encoded version to (always) the standard output. The encoding uses only printing ASCII characters suitable for text-only transport media. The string headername is inserted into the output header as the outputfile to use at uudecode time. The header also includes the mode (permissions) of the file.

uudecode transforms uuencoded files (or by default, the standard input) into the original form. The resulting file is named headername as recorded in the encoded file, or as specified by the -o option, and will have the mode of the original file except that setuid and execute bits are not retained. If the -p option is specified, or if the output file name is given as /dev/stdout, then the data will be written to the standard output instead of to a named file. uudecode ignores any leading and trailing lines.

The encoded form of the file is expanded by 35%. Every 3 bytes become 4 plus control information.

EXIT STATUS
The uudecode and uuencode utilities exits 0 on success, and >0 if an error occurs.

EXAMPLES
The following example packages up a source tree, compresses it, uuencodes it and mails it to a user on another system.

    tar czf - src_tree | uuencode src_tree.tgz | mail user@example.com

On the other system, if the user saves the mail to the file temp, the following example creates the file src_tree.tgz and extracts it to make a copy of the original tree.

    uudecode temp
    tar xzf src_tree.tgz

SEE ALSO
gzip(1), mail(1), tar(1), uuencode(5)

STANDARDS
The uudecode and uuencode utilities conform to p1003.1-2008.

HISTORY
The uudecode and uuencode utilities appeared in 4.0BSD.

SECURITY CONSIDERATIONS
When using uudecode with files coming from dubious sources, always either explicitly pass the -o option or check the header (the first line) of the encoded file for safety. Blindly using a headername from a hostile source can overwrite important files.