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 | POSTFIXPrefix. | 
| protected static String | PREFIXPostfix. | 
| protected static char | SEPSeparator. | 
| 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 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 String decode(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.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 Encodervalue - 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 StringEncoderstrSource - 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 valueEncoderException - 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 valueEncoderException - 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