public class BCodec extends java.lang.Object implements StringEncoder, StringDecoder
RFC 1522 describes techniques to allow the encoding of non-ASCII text in various portions of a RFC 822 [2] message header, in a manner which is unlikely to confuse existing message handling software.
This class is immutable and thread-safe.
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
POSTFIX
Prefix.
|
protected static java.lang.String |
PREFIX
Postfix.
|
protected static char |
SEP
Separator.
|
| Constructor and Description |
|---|
BCodec()
Default constructor.
|
BCodec(java.nio.charset.Charset charset)
Constructor which allows for the selection of a default charset
|
BCodec(java.lang.String charsetName)
Constructor which allows for the selection of a default charset
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
decode(java.lang.Object value)
Decodes a Base64 object into its original form.
|
java.lang.String |
decode(java.lang.String value)
Decodes a Base64 string into its original form.
|
protected java.lang.String |
decodeText(java.lang.String text)
Applies an RFC 1522 compliant decoding scheme to the given string of text.
|
protected byte[] |
doDecoding(byte[] bytes)
Decodes an array of bytes using the defined encoding scheme.
|
protected byte[] |
doEncoding(byte[] bytes)
Encodes an array of bytes using the defined encoding scheme.
|
java.lang.Object |
encode(java.lang.Object value)
Encodes an object into its Base64 form using the default charset.
|
java.lang.String |
encode(java.lang.String value)
Encodes a string into its Base64 form using the default charset.
|
java.lang.String |
encode(java.lang.String value,
java.nio.charset.Charset charset)
Encodes a string into its Base64 form using the specified charset.
|
java.lang.String |
encode(java.lang.String value,
java.lang.String charset)
Encodes a string into its Base64 form using the specified charset.
|
protected java.lang.String |
encodeText(java.lang.String text,
java.nio.charset.Charset charset)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
|
protected java.lang.String |
encodeText(java.lang.String text,
java.lang.String charsetName)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
|
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.
|
protected java.lang.String |
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522).
|
protected static final char SEP
protected static final java.lang.String POSTFIX
protected static final java.lang.String PREFIX
public BCodec()
public BCodec(java.nio.charset.Charset charset)
charset - the default string charset to use.public BCodec(java.lang.String charsetName)
charsetName - the default charset to use.java.nio.charset.UnsupportedCharsetException - If the named charset is unavailableprotected java.lang.String getEncoding()
protected byte[] doEncoding(byte[] bytes)
bytes - Data to be encodedprotected byte[] doDecoding(byte[] bytes)
bytes - Data to be decodedpublic java.lang.String encode(java.lang.String value,
java.nio.charset.Charset charset)
throws EncoderException
value - string to convert to Base64 formcharset - the charset for valueEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.String encode(java.lang.String value,
java.lang.String charset)
throws EncoderException
value - string to convert to Base64 formcharset - the charset for valueEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.String encode(java.lang.String value)
throws EncoderException
encode in interface StringEncodervalue - string to convert to Base64 formEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.String decode(java.lang.String value)
throws DecoderException
decode in interface StringDecodervalue - Base64 string to convert into its original formDecoderException - A decoder exception is thrown if a failure condition is encountered during the decode process.public java.lang.Object encode(java.lang.Object value)
throws EncoderException
encode in interface Encodervalue - object to convert to Base64 formEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.Object decode(java.lang.Object value)
throws DecoderException
decode in interface Decodervalue - Base64 object to convert into its original formDecoderException - Thrown if the argument is not a String. Thrown if a failure condition is encountered
during the decode process.public java.nio.charset.Charset getCharset()
public java.lang.String getDefaultCharset()
protected java.lang.String encodeText(java.lang.String text,
java.nio.charset.Charset charset)
throws EncoderException
This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokes
doEncoding(byte []) method of a concrete class to perform the specific encoding.
text - a string to encodecharset - a charset to be usedEncoderException - thrown if there is an error condition during the Encoding process.protected java.lang.String encodeText(java.lang.String text,
java.lang.String charsetName)
throws EncoderException,
java.io.UnsupportedEncodingException
This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokes
doEncoding(byte []) method of a concrete class to perform the specific encoding.
text - a string to encodecharsetName - the charset to useEncoderException - thrown if there is an error condition during the Encoding process.java.io.UnsupportedEncodingException - if charset is not availableprotected java.lang.String decodeText(java.lang.String text)
throws DecoderException,
java.io.UnsupportedEncodingException
This method processes the "encoded-word" header common to all the RFC 1522 codecs and then invokes
doEncoding(byte []) method of a concrete class to perform the specific decoding.
text - a string to decodenull if the input is null.DecoderException - thrown if there is an error condition during the decoding process.java.io.UnsupportedEncodingException - thrown if charset specified in the "encoded-word" header is not supported