Save This Page
Home » openjdk-7 » sun » misc » [javadoc | source]
public class: UUEncoder [javadoc | source]
This class implements a Berkeley uu character encoder. This encoder was made famous by uuencode program. The basic character coding is algorithmic, taking 6 bits of binary data and adding it to an ASCII ' ' (space) character. This converts these six bits into a printable representation. Note that it depends on the ASCII character encoding standard for english. Groups of three bytes are converted into 4 characters by treating the three bytes a four 6 bit groups, group 1 is byte 1's most significant six bits, group 2 is byte 1's least significant two bits plus byte 2's four most significant bits. etc. In this encoding, the buffer prefix is:
    begin [mode] [filename]
This is followed by one or more lines of the form:
     (len)(data)(data)(data) ...
where (len) is the number of bytes on this line. Note that groupings are always four characters, even if length is not a multiple of three bytes. When less than three characters are encoded, the values of the last remaining bytes is undefined and should be ignored. The last line of data in a uuencoded file is represented by a single space character. This is translated by the decoding engine to a line length of zero. This is immediately followed by a line which contains the word 'end[newline]'
Fields inherited from sun.misc.CharacterEncoder:
 public UUEncoder() 
 public UUEncoder(String fname) 
    Specifies a name for the encoded buffer, begin line will be:
     begin 644 [FNAME]
 public UUEncoder(String fname,
    int newMode) 
    Specifies a name and mode for the encoded buffer, begin line will be:
     begin [MODE] [FNAME]
Method from sun.misc.UUEncoder Summary:
bytesPerAtom,   bytesPerLine,   encodeAtom,   encodeBufferPrefix,   encodeBufferSuffix,   encodeLinePrefix,   encodeLineSuffix
Methods from sun.misc.CharacterEncoder:
bytesPerAtom,   bytesPerLine,   encode,   encode,   encode,   encode,   encode,   encodeAtom,   encodeBuffer,   encodeBuffer,   encodeBuffer,   encodeBuffer,   encodeBuffer,   encodeBufferPrefix,   encodeBufferSuffix,   encodeLinePrefix,   encodeLineSuffix,   readFully
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from sun.misc.UUEncoder Detail:
 protected int bytesPerAtom() 
    number of bytes per atom in uuencoding is 3
 protected int bytesPerLine() 
    number of bytes per line in uuencoding is 45
 protected  void encodeAtom(OutputStream outStream,
    byte[] data,
    int offset,
    int len) throws IOException 
    encodeAtom - take three bytes and encodes them into 4 characters If len is less than 3 then remaining bytes are filled with '1'. This insures that the last line won't end in spaces and potentiallly be truncated.
 protected  void encodeBufferPrefix(OutputStream a) throws IOException 
    encodeBufferPrefix writes the begin line to the output stream.
 protected  void encodeBufferSuffix(OutputStream a) throws IOException 
    encodeBufferSuffix writes the single line containing space (' ') and the line containing the word 'end' to the output stream.
 protected  void encodeLinePrefix(OutputStream outStream,
    int length) throws IOException 
    Encode the line prefix which consists of the single character. The lenght is added to the value of ' ' (32 decimal) and printed.
 protected  void encodeLineSuffix(OutputStream outStream) throws IOException 
    The line suffix for uuencoded files is simply a new line.