UUENCODE(1)                OpenBSD Reference Manual                UUENCODE(1)

NAME
     uuencode, uudecode, b64encode, b64decode - encode/decode a binary file

SYNOPSIS
     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]

DESCRIPTION
     The uuencode and uudecode utilities are used to transmit binary files
     over transmission mediums that do not support formats other than print-
     able 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 en-
     coded 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 in-
     put) 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
            uuencode algorithm.

     -o output_file
            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 tradi-
            tional uuencode input.  Without -r it has no effect.

     -o output_file
            Output to output_file instead of any pathname contained in the in-
            put data.

     -p     Decode file and write output to standard output.

     -r     Decode raw (or broken) input which is missing the initial and pos-
            sibly 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 se-
            curity reasons.

EXAMPLES
     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 user@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 ALSO
     basename(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.

HISTORY
     The uudecode and uuencode utilities appeared in 4.0BSD.

BUGS
     Files encoded using the traditional algorithm are expanded by 35% (3
     bytes become 4 plus control information).

OpenBSD 4.7                    February 8, 2009                              2
