uuencode(5)                                           uuencode(5)



NAME
       uuencode file format

DESCRIPTION
       The  command  generates files in a format that allows them
       to be successfully transferred by systems which strip  the
       high bit from an 8-bit byte.  decodes uuencoded files.


       The  uuencode  file  format  consists  of  three sections:
       header, body, and trailer.  The header is a line is of the
       form:


       begin 644 "filename.ext"


       where "644" is a -format permissions byte for the file and
       "filename.ext" is the name of the encoded file.


       The body section is  the  encoded  representation  of  the
       source  file.  Three  bytes of input file data are encoded
       into four bytes of output data.

       The 24 input bits are divided up into four pieces  of  six
       bits  each.  The integer value 32 (the ASCII value for the
       space character) is added to each of these pieces to  move
       them  outside of the range of control characters. To avoid
       using the space character in  the  encoding,  pieces  with
       value  zero  are  encoded using backquote (ASCII value 96)
       instead of zero. The resulting character  is  one  of  the
       this set (ASCII values 96,33-95):



       A  line itself contains three segments: a length character
       (encoded using  the  "add  a  space"  algorithm  described
       above),  the  body  of  the  line, typically (although not
       required to be) 60 output characters long, representing 45
       input bytes, and (of course) a linefeed.  The length char-
       acter specifies the number of valid  input  bytes  on  the
       line (so, for a line which is 60 encoded bytes, the length
       value would be 45).  Decoding programs  should  decode  no
       further than the specified length on a single line.


       The  trailer, which must exist, consists of a single back-
       quote ("`", ASCII 96)  character  on  a  line  by  itself,
       directly followed by on a line by itself.


       is the canonical filename extension for uuencoded files.


BUGS
       uudecode does not read all permutations of the file format
       described in this man page.


       Ancient versions of uuencode used a space character (ASCII
       32)  in  the  encoding  to  represent zero. Many (arguably
       broken) mailers and transport agents stripped,  rewrapped,
       or  otherwise  mangled this format, so the space was later
       changed to the backquote, ASCII 96. Decoders  may  attempt
       to  read  the  older  format  if  they  wish,  though it's
       unlikely to be encountered in practice at  this  point  in
       time.


       The  uuencode  encoding method is highly ASCII-centric. In
       particular, the character set used doesn't  work  well  on
       EBCDIC-based systems. (EBCDIC, generally used by IBM main-
       frames, is an old  alternative  character  encoding;  most
       computers use ASCII instead).


       Many  variants  of  uuencode on various platforms generate
       different forms of line checksums, using to represent  the
       checksum  one  or  more  encoded characters after the last
       counted character in a line.  Because  these  formats  are
       different  and impossible to distinguish (with certainty),
       such characters should be ignored by decoding  implementa-
       tions.


       The  uuencode  encoding  format has no provisions for seg-
       mented files.  Writers of segmenting utilities  should  be
       careful  to avoid using character sequences that may natu-
       rally occur in the encoding (such as sequences  of  dashes
       ("---")) to divide sections.


SEE ALSO
       The  MIME  Base64  encoding  (documented in RFC 2045) is a
       consistent, cross-platform-savvy  message  encoding  which
       should be used in place of UUEncode wherever possible.


       The Unix-Hater's Handbook (IDG, 1994) identifies the folly
       of the older zero-encoded-as-space versions of uuencode.




Apple Computer, Inc.        May, 2001                 uuencode(5)