MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Communication Commands                               uuencode(1C)



NAME
     uuencode, uudecode - encode a binary  file,  or  decode  its
     encoded representation

SYNOPSIS
     uuencode [source-file] decodepathname


     uuencode [-m] [source-file] decodepathname


     uudecode [-p] [encoded-file]


     uudecode [-o outfile] [encoded-file]


DESCRIPTION
     These commands encode and decode files as follows:

  uuencode
     The uuencode utility converts a binary file into an  encoded
     representation  that  can  be sent using mail(1). It encodes
     the contents of source-file, or the  standard  input  if  no
     source-file  argument is given. The decodepathname argument
     is required. The  decodepathname is included in the encoded
     file's header as the name of the file into which uudecode is
     to place the binary (decoded) data. uuencode  also  includes
     the  permission modes of source-file (except setuid, setgid,
     and sticky-bits), so that decodepathname is recreated  with
     those same permission modes.

  uudecode
     The uudecode utility reads an encoded-file, strips  off  any
     leading  and  trailing  lines  added by mailer programs, and
     recreates the original binary data with the filename and the
     mode specified in the header.


     The encoded file is an ordinary portable character set  text
     file;  it  can be edited by any text editor. It is best only
     to change the mode or   decodepathname  in  the  header  to
     avoid corrupting the decoded binary.

OPTIONS
     The following options are supported:

  uuencode
     -m    Encodes source-file using Base64 encoding and sends it
           to standard output.





SunOS 5.11           Last change: 6 Aug 2003                    1






Communication Commands                               uuencode(1C)



  uudecode
     -o outfile    Specifies a file pathname that should be  used
                   instead of any pathname contained in the input
                   data. Specifying an outfile option-argument of
                   /dev/stdout   indicates  standard  output.This
                   allows uudecode to be used in a pipeline.


     -p            Decodes encoded-file and sends it to  standard
                   output.  This  allows uudecode to be used in a
                   pipeline.


OPERANDS
     The  following  operands  are  supported  by  uuencode   and
     uudecode:

  uuencode
     decodepathname    The pathname of the file into  which  the
                        uudecode  utility  will place the decoded
                        file.  If   there   are   characters   in
                        decodepathname that are not in the port-
                        able filename character set, the  results
                        are unspecified.


     source-file        A pathname of the file to be encoded.


  uudecode
     encoded-file    The pathname of a file containing the output
                     of uuencode.


USAGE
     See largefile(5) for the  description  of  the  behavior  of
     uuencode  and  uudecode when encountering files greater than
     or equal to 2 Gbyte ( 2^31 bytes).

ENVIRONMENT VARIABLES
     See environ(5) for descriptions of the following environment
     variables   that   affect  the  execution  of  uuencode  and
     uudecode: LANG, LCAL, LCTYPE, LCMESAGES, and NLSPATH.

OUTPUT
     stdout

  uuencode Base64 Algorithm
     The standard output is a text file, encoded in the character
     set of the current locale, that begins with the line:

       begin-base64 %s %s0 mode, decodepathname



SunOS 5.11           Last change: 6 Aug 2003                    2






Communication Commands                               uuencode(1C)



     and ends with the line:

       ====




     In both cases, the lines have no preceding or trailing blank
     characters.


     The encoding process represents 24-bit groups of input  bits
     as  output  strings  of  four encoded characters. Proceeding
     from left to right, a 24-bit input group is formed  by  con-
     catenating three 8-bit input groups. Each 24-bit input group
     is then treated as four concatenated 6-bit groups,  each  of
     which is translated into a single digit in the Base64 alpha-
     bet. When encoding a bit  stream  by  means  of  the  Base64
     encoding,  the bit stream is presumed to be ordered with the
     most-significant bit first. That is, the first  bit  in  the
     stream  is  the  high-order  bit  in the first byte, and the
     eighth bit is the low-order bit in the first  byte,  and  so
     on. Each 6-bit group is used as an index into an array of 64
     printable characters, as shown in the following table.

       Value Encoding   Value Encoding   Value Encoding   Value Encoding
         0      A         17     R         34     i         51     z
         1      B         18     S         35     j         52     0
         2      C         19     T         36     k         53     1
         3      D         20     U         37     l         54     2
         4      E         21     V         38     m         55     3
         5      F         22     W         39     n         56     4
         6      G         23     X         40     o         57     5
         7      H         24     Y         41     p         58     6
         8      I         25     Z         42     q         59     7
         9      J         26     a         43     r         60     8
        10      K         27     b         44     s         61     9
        11      L         28     c         45     t         62     ]
        12      M         29     d         46     u         63     /
        13      N         30     e         47     v
        14      O         31     f         48     w        (pad)   =
        15      P         32     g         49     x
        16      Q         33     h         50     y




     The character referenced by the index is placed in the  out-
     put string.






SunOS 5.11           Last change: 6 Aug 2003                    3






Communication Commands                               uuencode(1C)



     The output stream (encoded bytes) is represented in lines of
     no  more  than  76 characters each. All line breaks or other
     characters not found in the table are  ignored  by  decoding
     software (see uudecode).


     Special processing is performed if fewer than  24  bits  are
     available  at the end of a message or encapsulated part of a
     message. A full encoding quantum is always completed at  the
     end  of  a message. When fewer than 24 input bits are avail-
     able in an input group, zero bits are added on the right  to
     form  an  integral  number of 6-bit groups. Output character
     positions that are not required to  represent  actual  input
     data  are  set to the equals (=) character. Since all Base64
     input is an integral number of octets,  only  the  following
     cases can arise:

         1.   The final quantum of encoding input is an  integral
              multiple  of  24  bits.  Here,  the  final  unit of
              encoded output is  an  integral  multiple  of  four
              characters with no '= ' padding.

         2.   The final quantum of encoding input is  exactly  16
              bits.  Here,  the  final  unit of encoded output is
              three characters followed by one '=' padding  char-
              acter.

         3.   The final quantum of encoding input  is  exactly  8
              bits. Here, the final unit of encoded output is two
              characters followed by two '=' padding characters.


     A terminating "====" evaluates to nothing  and  denotes  the
     end of the encoded data.

  uuencode Historical Algorithm
     The standard output is a text file (encoded in the character
     set of the current locale) that begins with the line:

       begin %s %s\n, mode, decodepathname




     and ends with the line:

       end\n








SunOS 5.11           Last change: 6 Aug 2003                    4






Communication Commands                               uuencode(1C)



     In both cases, the lines have no preceding or trailing blank
     characters.


     The algorithm that is used for lines between begin  and  end
     takes  three  octets  as input and writes four characters of
     output by splitting the input at six-bit intervals into four
     octets,  containing  data  in the lower six bits only. These
     octets are converted to characters by adding a value of 0x20
     to each octet, so that each octet is in the range 0x20-0x5f,
     and each octet is assumed to represent a  printable  charac-
     ter.  Each  octect is then translated into the corresponding
     character codes for  the  codeset  in  use  in  the  current
     locale. For example, the octet 0x41, representing 'A', would
     be translated to 'A' in the current codeset, such as 0xc1 if
     the codeset were EBCDIC.


     Where the bits of two octets are combined, the least  signi-
     ficant bits of the first octet are shifted left and combined
     with the most significant bits of the second  octet  shifted
     right. Thus, the three octets A, B, C are converted into the
     four octets:

       0x20 ] (( A >> 2                          ) & 0x3F)
       0x20 ] (((A << 4)  ((B >> 4) & 0xF)) & 0x3F)
       0x20 ] (((B << 2)  ((C >> 6) & 0x3)) & 0x3F)
       0x20 ] (( C                                 ) & 0x3F)




     These octets are then translated into  the  local  character
     set.


     Each encoded line contains a length character, equal to  the
     number  of  characters to be decoded plus 0x20 translated to
     the local character set as described above, followed by  the
     encoded  characters.  The  maximum  number  of  octets to be
     encoded on each line is 45.

EXIT STATUS
     The following exit values are returned:

     0     Successful completion.


     >0    An error occurred.






SunOS 5.11           Last change: 6 Aug 2003                    5






Communication Commands                               uuencode(1C)



ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWesu                     
    
     Interface Stability          Standard                    
    


SEE ALSO
     mail(1),   mailx(1),   uucp(1C),   uux(1C),   attributes(5),
     environ(5), largefile(5), standards(5)

NOTES
     The size of the encoded file is expanded  by  35%  (3  bytes
     become  4,  plus  control  information),  causing it to take
     longer to transmit than the equivalent binary.


     The user on the remote system who is invoking uudecode (typ-
     ically  uucp)  must have write permission on the file speci-
     fied in the decodepathname.


     If you invoke uuencode and then execute uudecode on  a  file
     in the same directory, you will overwrite the original file.























SunOS 5.11           Last change: 6 Aug 2003                    6



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™