public class: UUEncoder
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:
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]'
Default - buffer begin line will be:
begin 644 encoder.buf
public UUEncoder(String fname)
Specifies a name for the encoded buffer, begin line will be:
begin 644 [FNAME]
public UUEncoder(String fname,
Specifies a name and mode for the encoded buffer, begin line will be:
begin [MODE] [FNAME]
|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,
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
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.