UUENCODE(1) OpenBSD Reference Manual UUENCODE(1)NAME
uuencode, uudecode, b64encode, b64decode - encode/decode a binary file
uuencode [-m] [-o output_file] [file] name
uudecode [-cimprs] [file ...]
uudecode [-i] -o output_file [file]
b64encode [-o output_file] [file] name
b64decode [-ciprs] [file ...]
b64decode [-i] -o output_file [file]
The uuencode and uudecode utilities are used to transmit binary files
over transmission mediums that do not support formats other than
printable ASCII data. b64encode and b64decode are equivalent to running
uuencode and uudecode respectively with the -m flag specified.
uuencode reads file (or by default, the standard input) and writes an
encoded version to the standard output, or to output_file if it has been
specified. The encoding uses only printing ASCII characters and includes
the mode of the file and the operand name for use by uudecode.
uudecode transforms ``uuencoded'' files (or by default, the standard
input) into the original form. The resulting file is named either name
or (depending on options passed to uudecode) output_file and will have
the mode of the original file except that set-user-ID and execute bits
are not retained. uudecode ignores any leading and trailing lines.
The options for uuencode are as follows:
-m Use the Base64 method of encoding, rather than the traditional
Output to output_file instead of standard output.
The options for uudecode are as follows:
-c Decode more than one uuencoded file from file if possible.
-i Do not overwrite files.
-m When used with the -r flag, decode Base64 input instead of
traditional uuencode input. Without -r it has no effect.
Output to output_file instead of any pathname contained in the
-p Decode file and write output to standard output.
-r Decode raw (or broken) input which is missing the initial and
possibly the final framing lines. The input is assumed to be in
the traditional uuencode encoding, but if the -m flag is used, or
if the utility is invoked as b64decode, then the input is assumed
to be in Base64 format.
-s Do not strip output pathname to base filename. By default
uudecode deletes any prefix ending with the last slash '/' for
The uuencode and uudecode utilities exit 0 on success, and >0 if an error
The following example packages up a source tree, compresses it, uuencodes
it and mails it to a user on another system. When uudecode is run on the
target system, the file src_tree.tar.Z will be created which may then be
uncompressed and extracted into the original tree.
$ tar cf - src_tree | compress | \
uuencode src_tree.tar.Z | mail email@example.com
The following example unpacks all uuencoded files from your mailbox into
your current working directory.
$ uudecode -c < $MAIL
The following example extracts a compressed tar archive from your mailbox
$ uudecode -o /dev/stdout < $MAIL | zcat | tar xfv -
SEE ALSObasename(1), compress(1), mail(1), uuencode(5)STANDARDS
The uudecode and uuencode utilities are compliant with the IEEE Std
1003.1-2008 (``POSIX'') specification.
The flags [-ciprs] are extensions to that specification.
The use of the -o flag for uuencode and the -m flag for uudecode are also
extensions to that specification.
The uudecode and uuencode utilities appeared in 4.0BSD.
Files encoded using the traditional algorithm are expanded by 35% (3
bytes become 4 plus control information).
OpenBSD 4.9 September 29, 2010 OpenBSD 4.9