gnu.mail.util
Class QOutputStream
public class QOutputStream
Provides RFC 2047 "B" transfer decoding.
See section 4.2:
The "Q" encoding is similar to the "Quoted-Printable" content-
transfer-encoding defined in RFC 2045. It is designed to allow text
containing mostly ASCII characters to be decipherable on an ASCII
terminal without decoding.
- Any 8-bit value may be represented by a "=" followed by two
hexadecimal digits. For example, if the character set in use
were ISO-8859-1, the "=" character would thus be encoded as
"=3D", and a SPACE by "=20". (Upper case should be used for
hexadecimal digits "A" through "F".)
- The 8-bit hexadecimal value 20(e.g., ISO-8859-1 SPACE) may be
represented as "_"(underscore, ASCII 95.). (This character may
not pass through some internetwork mail gateways, but its use
will greatly enhance readability of "Q" encoded data with mail
readers that do not support this encoding.) Note that the "_"
always represents hexadecimal 20, even if the SPACE character
occupies a different code position in the character set in use.
- 8-bit values which correspond to printable ASCII characters other
than "=", "?", and "_"(underscore), MAY be represented as those
characters. (But see section 5 for restrictions.) In
particular, SPACE and TAB MUST NOT be represented as themselves
within encoded words.
static int | encodedLength(byte[] bytes, boolean word)
|
void | write(int c) - Write a character to the stream.
|
QOutputStream
public QOutputStream(OutputStream out,
boolean word)
Constructor.
The word
parameter is used to indicate whether the bytes
passed to this stream are considered to be RFC 822 "word" tokens or
"text" tokens.
out
- the underlying output streamword
- word mode if true, text mode otherwise
encodedLength
public static int encodedLength(byte[] bytes,
boolean word)
write
public void write(int c)
throws IOException
Write a character to the stream.
- write in interface QPOutputStream