UUENCODE(1) | General Commands 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 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 `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 traditional `uuencode` input. Without `-r` it has no effect.
`-o` output_file
  Output to output_file instead of any pathname contained in the input data.
`-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 security reasons.

# EXIT STATUS

The `uuencode`, `uudecode`, `b64encode`, and `b64decode` utilities exit 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. 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.1”) 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).

September 9, 2015 | Debian