uuencode - format of an encoded uuencode file
Files output by
uuencode(1) consist of a header line, followed by a number of
body lines, and a trailer line. The
uudecode(1) command will ignore any lines
preceding the header or following the trailer. Lines preceding a header must
not, of course, look like a header.
The header line is distinguished by having the first 5 characters be
begin followed by a space, or else a hyphen and either
base64 or
encoded or both (also separated with a hyphen). The
base64
option says the file has been encoded using base64. The
encoded option
says the output file
name has been base64 encoded. It is never encoded
with traditional uuencoding. This is a GNU extension. These are followed by a
mode (in octal), and a string which names the remote file. The mode is
separated from the
begin clause and the file name by a single space
character.
The traditional
uuencoded file body consists of a number of lines, each
at most 62 characters long (including the trailing newline). These consist of
a character count letter, followed by the encoded characters, followed by a
newline. The character count is a single printing character, and represents an
integer, the number of bytes the rest of the line represents. Such integers
are always in the range from 0 to 63 and can be determined by subtracting the
character space (octal 40) from the character.
Groups of 3 bytes are stored in 4 characters, 6 bits per character. All are
offset by a space to make the characters printing. The last line may be
shorter than the normal 45 bytes. If the size is not a multiple of 3, this
fact can be determined by the value of the count on the last line. Extra
garbage will be included to make the character count a multiple of 4. The body
is terminated by a line with a count of zero. This line consists of one ASCII
space.
The trailer line consists of
end on a line by itself.
base64 encoded files follow the specified format for the body, but also
include a
begin-base64 header and a trailer line of four
=
characters.
begin-base64-encoded 644 VE9ETw==
This introduces a base64 encoded file named,
TODO with that name encoded
using base64 encoding.
begin-encoded 644 5$]$3P``
This introduces an encoded file named,
TODO with that name encoded using
uuencoding. The encoding is a lot less friendly. Please prefer base64
encoding.
IEEE Std 1003.1, plus extensions
The
-encoded suffix to the
begin header line is a GNU extension.
Recipients must have the GNU
uudecode program to decode them.
uuencode(1),
uudecode(1), base64(1GNU)
The
uuencode file format appeared in BSD 4.0 .