|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.codec.net.QuotedPrintableCodec
public class QuotedPrintableCodec
Codec for the Quoted-Printable section of RFC 1521.
The Quoted-Printable encoding is intended to represent data that largely consists of octets that correspond to printable characters in the ASCII character set. It encodes the data in such a way that the resulting octets are unlikely to be modified by mail transport. If the data being encoded are mostly ASCII text, the encoded form of the data remains largely recognizable by humans. A body which is entirely ASCII may also be encoded in Quoted-Printable to ensure the integrity of the data should the message pass through a character- translating, and/or line-wrapping gateway.
Note:
Rules #3, #4, and #5 of the quoted-printable spec are not implemented yet because the complete quoted-printable spec does not lend itself well into the byte[] oriented codec framework. Complete the codec once the streamable codec framework is ready. The motivation behind providing the codec in a partial form is that it can already come in handy for those applications that do not require quoted-printable line formatting (rules #3, #4, #5), for instance Q codec.
This class is immutable and thread-safe.
Field Summary | |
---|---|
private java.nio.charset.Charset |
charset
The default charset used for string decoding and encoding. |
private static byte |
ESCAPE_CHAR
|
private static java.util.BitSet |
PRINTABLE_CHARS
BitSet of printable characters as defined in RFC 1521. |
private static byte |
SPACE
|
private static byte |
TAB
|
Constructor Summary | |
---|---|
QuotedPrintableCodec()
Default constructor, assumes default charset of Charsets.UTF_8 |
|
QuotedPrintableCodec(java.nio.charset.Charset charset)
Constructor which allows for the selection of a default charset. |
|
QuotedPrintableCodec(java.lang.String charsetName)
Constructor which allows for the selection of a default charset. |
Method Summary | |
---|---|
byte[] |
decode(byte[] bytes)
Decodes an array of quoted-printable characters into an array of original bytes. |
java.lang.Object |
decode(java.lang.Object obj)
Decodes a quoted-printable object into its original form. |
java.lang.String |
decode(java.lang.String str)
Decodes a quoted-printable string into its original form using the default string charset. |
java.lang.String |
decode(java.lang.String str,
java.nio.charset.Charset charset)
Decodes a quoted-printable string into its original form using the specified string charset. |
java.lang.String |
decode(java.lang.String str,
java.lang.String charset)
Decodes a quoted-printable string into its original form using the specified string charset. |
static byte[] |
decodeQuotedPrintable(byte[] bytes)
Decodes an array quoted-printable characters into an array of original bytes. |
byte[] |
encode(byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters. |
java.lang.Object |
encode(java.lang.Object obj)
Encodes an object into its quoted-printable safe form. |
java.lang.String |
encode(java.lang.String str)
Encodes a string into its quoted-printable form using the default string charset. |
java.lang.String |
encode(java.lang.String str,
java.nio.charset.Charset charset)
Encodes a string into its quoted-printable form using the specified charset. |
java.lang.String |
encode(java.lang.String str,
java.lang.String charset)
Encodes a string into its quoted-printable form using the specified charset. |
static byte[] |
encodeQuotedPrintable(java.util.BitSet printable,
byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters. |
private static void |
encodeQuotedPrintable(int b,
java.io.ByteArrayOutputStream buffer)
Encodes byte into its quoted-printable representation. |
java.nio.charset.Charset |
getCharset()
Gets the default charset name used for string decoding and encoding. |
java.lang.String |
getDefaultCharset()
Gets the default charset name used for string decoding and encoding. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final java.nio.charset.Charset charset
private static final java.util.BitSet PRINTABLE_CHARS
private static final byte ESCAPE_CHAR
private static final byte TAB
private static final byte SPACE
Constructor Detail |
---|
public QuotedPrintableCodec()
Charsets.UTF_8
public QuotedPrintableCodec(java.nio.charset.Charset charset)
charset
- the default string charset to use.public QuotedPrintableCodec(java.lang.String charsetName) throws java.nio.charset.IllegalCharsetNameException, java.lang.IllegalArgumentException, java.nio.charset.UnsupportedCharsetException
charsetName
- the default string charset to use.
java.nio.charset.UnsupportedCharsetException
- If no support for the named charset is available
in this instance of the Java virtual machine
java.lang.IllegalArgumentException
- If the given charsetName is null
java.nio.charset.IllegalCharsetNameException
- If the given charset name is illegalMethod Detail |
---|
private static final void encodeQuotedPrintable(int b, java.io.ByteArrayOutputStream buffer)
b
- byte to encodebuffer
- the buffer to write topublic static final byte[] encodeQuotedPrintable(java.util.BitSet printable, byte[] bytes)
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.
printable
- bitset of characters deemed quoted-printablebytes
- array of bytes to be encoded
public static final byte[] decodeQuotedPrintable(byte[] bytes) throws DecoderException
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521.
bytes
- array of quoted-printable characters
DecoderException
- Thrown if quoted-printable decoding is unsuccessfulpublic byte[] encode(byte[] bytes)
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.
encode
in interface BinaryEncoder
bytes
- array of bytes to be encoded
public byte[] decode(byte[] bytes) throws DecoderException
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521.
decode
in interface BinaryDecoder
bytes
- array of quoted-printable characters
DecoderException
- Thrown if quoted-printable decoding is unsuccessfulpublic java.lang.String encode(java.lang.String str) throws EncoderException
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data.
encode
in interface StringEncoder
str
- string to convert to quoted-printable form
EncoderException
- Thrown if quoted-printable encoding is unsuccessfulgetCharset()
public java.lang.String decode(java.lang.String str, java.nio.charset.Charset charset) throws DecoderException
str
- quoted-printable string to convert into its original formcharset
- the original string charset
DecoderException
- Thrown if quoted-printable decoding is unsuccessfulpublic java.lang.String decode(java.lang.String str, java.lang.String charset) throws DecoderException, java.io.UnsupportedEncodingException
str
- quoted-printable string to convert into its original formcharset
- the original string charset
DecoderException
- Thrown if quoted-printable decoding is unsuccessful
java.io.UnsupportedEncodingException
- Thrown if charset is not supportedpublic java.lang.String decode(java.lang.String str) throws DecoderException
decode
in interface StringDecoder
str
- quoted-printable string to convert into its original form
DecoderException
- Thrown if quoted-printable decoding is unsuccessful. Thrown if charset is not supported.getCharset()
public java.lang.Object encode(java.lang.Object obj) throws EncoderException
encode
in interface Encoder
obj
- string to convert to a quoted-printable form
EncoderException
- Thrown if quoted-printable encoding is not applicable to objects of this type or if encoding is
unsuccessfulpublic java.lang.Object decode(java.lang.Object obj) throws DecoderException
decode
in interface Decoder
obj
- quoted-printable object to convert into its original form
DecoderException
- Thrown if the argument is not a String
or byte[]
. Thrown if a failure
condition is encountered during the decode process.public java.nio.charset.Charset getCharset()
public java.lang.String getDefaultCharset()
public java.lang.String encode(java.lang.String str, java.nio.charset.Charset charset)
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.
str
- string to convert to quoted-printable formcharset
- the charset for str
public java.lang.String encode(java.lang.String str, java.lang.String charset) throws java.io.UnsupportedEncodingException
This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.
str
- string to convert to quoted-printable formcharset
- the charset for str
java.io.UnsupportedEncodingException
- Thrown if the charset is not supported
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |