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(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 value)
Encodes a string into its Base64 form using the default charset.
|
String |
encode(String value,
Charset charset)
Encodes a string into its Base64 form using the specified charset.
|
String |
encode(String value,
String charset)
Encodes a string into its Base64 form using the specified charset.
|
protected String |
encodeText(String text,
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.
|
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 char SEP
protected static final String POSTFIX
protected static final String PREFIX
public BCodec()
public BCodec(Charset charset)
charset
- the default string charset to use.public BCodec(String charsetName)
charsetName
- the default charset to use.UnsupportedCharsetException
- If the named charset is unavailableprotected String getEncoding()
protected byte[] doEncoding(byte[] bytes)
bytes
- Data to be encodedprotected byte[] doDecoding(byte[] bytes)
bytes
- Data to be decodedpublic String encode(String value, Charset charset) throws EncoderException
value
- string to convert to Base64 formcharset
- the charset for value
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String value, String charset) throws EncoderException
value
- string to convert to Base64 formcharset
- the charset for value
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String value) throws EncoderException
encode
in interface StringEncoder
value
- string to convert to Base64 formEncoderException
- thrown if a failure condition is encountered during the encoding 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.public 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 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 Charset getCharset()
public String getDefaultCharset()
protected String encodeText(String text, 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 availableprotected 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 supportedCopyright © 2002–2013 The Apache Software Foundation. All rights reserved.