| java.lang.Object | ||
| ↳ | sun.misc.CharacterDecoder | |
| ↳ | sun.misc.UUDecoder | |
This class implements a Berkeley uu character decoder. This decoder was made famous by the uudecode 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 buffer 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]'
If an error is encountered during decoding this class throws a
CEFormatException. The specific detail messages are:
"UUDecoder: No begin line."
"UUDecoder: Malformed begin line."
"UUDecoder: Short Buffer."
"UUDecoder: Bad Line Length."
"UUDecoder: Missing 'end' line."
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| bufferName | This string contains the name that was in the buffer being decoded. | ||||||||||
| mode | Represents UNIX(tm) mode bits. | ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
UU encoding specifies 3 bytes per atom.
| |||||||||||
All UU lines have 45 bytes on them, for line length of 15*4+1 or 61
characters per line.
| |||||||||||
Decode a UU atom.
| |||||||||||
For uuencoded buffers, the data begins with a line of the form:
begin MODE FILENAME
This line always starts in column 1.
| |||||||||||
UUencoded files have a buffer suffix which consists of the word
end.
| |||||||||||
In uuencoded buffers, encoded lines start with a character that
represents the number of bytes encoded in this line.
| |||||||||||
Find the end of the line for the next operation.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
sun.misc.CharacterDecoder
| |||||||||||
From class
java.lang.Object
| |||||||||||
Represents UNIX(tm) mode bits. Generally three octal digits representing read, write, and execute permission of the owner, group owner, and others. They should be interpreted as the bit groups:
(owner) (group) (others) rwx rwx rwx (r = read, w = write, x = execute)
UU encoding specifies 3 bytes per atom.
All UU lines have 45 bytes on them, for line length of 15*4+1 or 61 characters per line.
Decode a UU atom. Note that if l is less than 3 we don't write the extra bits, however the encoder always encodes 4 character groups even when they are not needed.
| IOException |
|---|
For uuencoded buffers, the data begins with a line of the form: begin MODE FILENAME This line always starts in column 1.
| IOException |
|---|
UUencoded files have a buffer suffix which consists of the word end. This line should immediately follow the line with a single space in it.
| IOException |
|---|
In uuencoded buffers, encoded lines start with a character that represents the number of bytes encoded in this line. The last line of input is always a line that starts with a single space character, which would be a zero length line.
| IOException |
|---|
Find the end of the line for the next operation. The following sequences are recognized as end-of-line CR, CR LF, or LF
| IOException |
|---|