public class BCodec extends RFC1522Codec 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 |
|---|---|
private java.nio.charset.Charset |
charset
The default Charset used for string decoding and encoding.
|
private static CodecPolicy |
DECODING_POLICY_DEFAULT
The default decoding policy.
|
private CodecPolicy |
decodingPolicy
If true then decoding should throw an exception for impossible combinations of bits at the
end of the byte input.
|
POSTFIX, PREFIX, SEP| Constructor and Description |
|---|
BCodec()
Default constructor.
|
BCodec(java.nio.charset.Charset charset)
Constructor which allows for the selection of a default Charset
|
BCodec(java.nio.charset.Charset charset,
CodecPolicy decodingPolicy)
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 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 strSource)
Encodes a string into its Base64 form using the default Charset.
|
java.lang.String |
encode(java.lang.String strSource,
java.nio.charset.Charset sourceCharset)
Encodes a string into its Base64 form using the specified Charset.
|
java.lang.String |
encode(java.lang.String strSource,
java.lang.String sourceCharset)
Encodes a string into its Base64 form using the specified 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).
|
boolean |
isStrictDecoding()
Returns true if decoding behavior is strict.
|
decodeText, encodeText, encodeTextprivate static final CodecPolicy DECODING_POLICY_DEFAULT
private final java.nio.charset.Charset charset
private final CodecPolicy decodingPolicy
public BCodec()
public BCodec(java.nio.charset.Charset charset)
charset - the default string Charset to use.public BCodec(java.nio.charset.Charset charset,
CodecPolicy decodingPolicy)
charset - the default string Charset to use.decodingPolicy - The decoding policy.public BCodec(java.lang.String charsetName)
charsetName - the default Charset to use.java.nio.charset.UnsupportedCharsetException - If the named Charset is unavailablepublic boolean isStrictDecoding()
DecoderException if trailing bits are not part of a valid Base64 encoding.
The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.
protected java.lang.String getEncoding()
RFC1522CodecgetEncoding in class RFC1522Codecprotected byte[] doEncoding(byte[] bytes)
RFC1522CodecdoEncoding in class RFC1522Codecbytes - Data to be encodedprotected byte[] doDecoding(byte[] bytes)
RFC1522CodecdoDecoding in class RFC1522Codecbytes - Data to be decodedpublic java.lang.String encode(java.lang.String strSource,
java.nio.charset.Charset sourceCharset)
throws EncoderException
strSource - string to convert to Base64 formsourceCharset - the Charset for valueEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.String encode(java.lang.String strSource,
java.lang.String sourceCharset)
throws EncoderException
strSource - string to convert to Base64 formsourceCharset - the Charset for valueEncoderException - thrown if a failure condition is encountered during the encoding process.public java.lang.String encode(java.lang.String strSource)
throws EncoderException
encode in interface StringEncoderstrSource - 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()