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 6 characters "begin " (note the trailing space). The word begin is followed by a mode (in octal), and a string which names the remote file. A space separates the three items in the header line.
The body consists of a number of lines, each at most 62 characters long (including the trailing newline). These consist of a character count, followed by 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 1 to 45 or 64 and can be determined by subtracting the character space (octal 40) from the character. Character 64 represents a count of zero.
Groups of 3 bytes are stored in 4 characters, 6 bits per character. All characters are always in range from 1 to 64 and are offset by a space (octal 40) to make the characters printing. Character 64 represents a count of zero. 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 null characters 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 backquote (octal 140) character.
The trailer line consists of "end" on a line by itself.
mail(1), uucp(1), uudecode(1), uuencode(1)