public class BCodec extends 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 String |
POSTFIX
Prefix.
|
protected static 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(String charsetName)
Constructor which allows for the selection of a default Charset
|
Modifier and Type | Method and Description |
---|---|
Object |
decode(Object value)
Decodes a Base64 object into its original form.
|
String |
decode(String value)
Decodes a Base64 string into its original form.
|
protected String |
decodeText(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.
|
Object |
encode(Object value)
Encodes an object into its Base64 form using the default Charset.
|
String |
encode(String strSource)
Encodes a string into its Base64 form using the default Charset.
|
String |
encode(String strSource,
java.nio.charset.Charset sourceCharset)
Encodes a string into its Base64 form using the specified Charset.
|
String |
encode(String strSource,
String sourceCharset)
Encodes a string into its Base64 form using the specified Charset.
|
protected String |
encodeText(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 String |
encodeText(String text,
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.
|
String |
getDefaultCharset()
Gets the default Charset name used for string decoding and encoding.
|
protected String |
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522).
|
protected static final String POSTFIX
protected static final String PREFIX
protected static final char SEP
public BCodec()
public BCodec(java.nio.charset.Charset charset)
charset
- the default string Charset to use.public BCodec(String charsetName)
charsetName
- the default Charset to use.java.nio.charset.UnsupportedCharsetException
- If the named Charset is unavailablepublic Object decode(Object value) throws DecoderException
decode
in interface Decoder
value
- 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 String decode(String value) throws DecoderException
decode
in interface StringDecoder
value
- Base64 string to convert into its original formDecoderException
- A decoder exception is thrown if a failure condition is encountered during the decode process.protected byte[] doDecoding(byte[] bytes)
bytes
- Data to be decodedprotected byte[] doEncoding(byte[] bytes)
bytes
- Data to be encodedpublic Object encode(Object value) throws EncoderException
encode
in interface Encoder
value
- object to convert to Base64 formEncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String strSource) throws EncoderException
encode
in interface StringEncoder
strSource
- string to convert to Base64 formEncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String strSource, java.nio.charset.Charset sourceCharset) throws EncoderException
strSource
- string to convert to Base64 formsourceCharset
- the Charset for value
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String strSource, String sourceCharset) throws EncoderException
strSource
- string to convert to Base64 formsourceCharset
- the Charset for value
EncoderException
- thrown if a failure condition is encountered during the encoding process.public java.nio.charset.Charset getCharset()
public String getDefaultCharset()
protected String getEncoding()
protected String decodeText(String text) throws DecoderException, 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.UnsupportedEncodingException
- thrown if charset specified in the "encoded-word" header is not supportedprotected String encodeText(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 String encodeText(String text, String charsetName) throws EncoderException, 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.UnsupportedEncodingException
- if charset is not available