<communications> (Unix-to-Unix encode) A Unix program for encoding binary
data as ASCII. Uuencode was originally used with uucp to transfer binary files
over serial lines which did not preserve the top bit of characters, but is now
used for sending binary files by e-mail and posting to Usenet newsgroups etc.
The program uudecode reverses the effect of uuencode, recreating the original
binary file exactly.
Uuencoded data starts with a line of the form
begin <mode> <file>
where <mode> is the files read/write/execute permissions as three octal
digits and <file> is the name to be used when
recreating the binary data.
Uuencode repeatedly takes in a group of three bytes, adding trailing zeros if
there are less than three bytes left. These 24 bits are split into four groups
of six which are treated as numbers between 0 and 63. Decimal 32 is added to
each number and they are output as ASCII characters from 32 (space) to 32+63 =
95 (underscore). Each group of sixty output characters (corresponding to 45
input bytes) is output as a separate line preceded by an 'M' (ASCII code 77 =
32+45). At the end of the input, if there are N output characters left after the
last group of sixty and N>0 then they will be preceded by the character whose
code is 32+N. Finally, a line containing just a single space is output, followed
by one containing just "end".
Sometimes each data line has an extra dummy character added to avoid problems
which mailers that strip trailing spaces. These characters are ignored by
Despite using this limited range of characters, there are still some problems
encountered when uuencoded data passes through certain old computers. The worst
offenders are computers using non-ASCII character sets such as EBCDIC.
Base 64 encoding is probably now more commonly used than uuencode.
uucp « UUCPNET « uudecode « uuencode » UUNET
PIPEX » UUPC » uy