|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcryptix.util.mime.TransferEncoding
cryptix.util.mime.QuotedPrintable
This class provides methods for encoding and decoding data in MIME quoted-printable format, as described in RFC 2045 (Section 6.7).
QuotedPrintable is a Content-Transfer-Encoding. That is, the input to encoding is a sequence of bytes, and the output is a sequence of characters (similar to base64). It is orthogonal to the character encoding.
For example, suppose a MIME message consists of Unicode text with a Content-Type of "text/plain; charset=UTF8", and a Content-Transfer-Encoding of "quoted-printable" (this would be unusual, but valid). A MIME message should be viewed as a sequence of abstract characters, which in this case could be decoded as bytes according to the "quoted-printable" transfer encoding, and then back to a (different, in general) sequence of characters according to the "UTF8" character encoding.
The input to the encode
methods is always a byte array.
Strictly speaking the output represents a sequence of characters, but
since these characters are from a subset of both the Unicode and ASCII
character repertoires, it is possible to express the output either as
a String or as a byte array.
References:
Copyright © 1995-1997
Systemics Ltd on behalf of the
Cryptix Development Team.
All rights reserved.
$Revision: 1.2 $
Constructor Summary | |
QuotedPrintable()
|
Method Summary | |
byte[] |
decode(java.lang.String s)
Takes a quoted-printable encoding and decodes it to find the corresponding sequence of bytes. |
java.lang.String |
encode(byte[] b)
Encodes a byte array using quoted-printable encoding, and returns the result as a String. |
static boolean |
isProbablyEncoded(byte[] buf)
Tests whether or not an encoding could have been generated by encodeAsByteArray() or any similar generator that complies
with the RFC. |
static boolean |
isProbablyEncoded(java.lang.String s)
Tests whether or not an encoding, expressed as if it were an ASCII String, could have been generated by encode() or any similar generator
that complies with the RFC. |
Methods inherited from class cryptix.util.mime.TransferEncoding |
decode, encodeAsByteArray |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public QuotedPrintable()
Method Detail |
public java.lang.String encode(byte[] b)
Line breaks in the input MUST be represented as "\r\n" - any other combination is treated as binary data. Line breaks in the output will always be represented as "\r\n".
encode
in class TransferEncoding
b
- canonical data to be encoded
public byte[] decode(java.lang.String s)
Unrecognised sequences starting with '=' are passed through unmodified, as are characters that do not correspond to bytes that could have been output by a correct quoted-printable encoder. Note that this method will strip trailing whitespace from each line.
decode
in class TransferEncoding
s
- input string in quoted-printable form
public static boolean isProbablyEncoded(java.lang.String s)
encode()
or any similar generator
that complies with the RFC.
public static boolean isProbablyEncoded(byte[] buf)
encodeAsByteArray()
or any similar generator that complies
with the RFC.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |