Class BCodec
- java.lang.Object
- org.apache.commons.codec.net.BCodec
- All Implemented Interfaces:
- Decoder, Encoder, StringDecoder, StringEncoder
public class BCodec extends Object implements StringEncoder, StringDecoder
Identical to the Base64 encoding defined by RFC 1521 and allows a character set to be specified.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.
- Since:
- 1.3
- Version:
- $Id: BCodec.java 1429868 2013-01-07 16:08:05Z ggregory $
- See Also:
- MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text
Method Summary
Methods 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).
Field Detail
SEP
protected static final char SEP
Separator.- See Also:
- Constant Field Values
POSTFIX
protected static final String POSTFIX
Prefix.- See Also:
- Constant Field Values
PREFIX
protected static final String PREFIX
Postfix.- See Also:
- Constant Field Values
Constructor Detail
BCodec
public BCodec()
Default constructor.
BCodec
public BCodec(Charset charset)
Constructor which allows for the selection of a default charset- Parameters:
charset
- the default string charset to use.- Since:
- 1.7
- See Also:
- Standard charsets
BCodec
public BCodec(String charsetName)
Constructor which allows for the selection of a default charset- Parameters:
charsetName
- the default charset to use.- Throws:
UnsupportedCharsetException
- If the named charset is unavailable- Since:
- 1.7 throws UnsupportedCharsetException if the named charset is unavailable
- See Also:
- Standard charsets
Method Detail
getEncoding
protected String getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522).- Returns:
- name of the codec
doEncoding
protected byte[] doEncoding(byte[] bytes)
Encodes an array of bytes using the defined encoding scheme.- Parameters:
bytes
- Data to be encoded- Returns:
- A byte array containing the encoded data
doDecoding
protected byte[] doDecoding(byte[] bytes)
Decodes an array of bytes using the defined encoding scheme.- Parameters:
bytes
- Data to be decoded- Returns:
- a byte array that contains decoded data
encode
public String encode(String value, Charset charset) throws EncoderException
Encodes a string into its Base64 form using the specified charset. Unsafe characters are escaped.- Parameters:
value
- string to convert to Base64 formcharset
- the charset forvalue
- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.- Since:
- 1.7
encode
public String encode(String value, String charset) throws EncoderException
Encodes a string into its Base64 form using the specified charset. Unsafe characters are escaped.- Parameters:
value
- string to convert to Base64 formcharset
- the charset forvalue
- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.
encode
public String encode(String value) throws EncoderException
Encodes a string into its Base64 form using the default charset. Unsafe characters are escaped.- Specified by:
encode
in interfaceStringEncoder
- Parameters:
value
- string to convert to Base64 form- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.
decode
public String decode(String value) throws DecoderException
Decodes a Base64 string into its original form. Escaped characters are converted back to their original representation.- Specified by:
decode
in interfaceStringDecoder
- Parameters:
value
- Base64 string to convert into its original form- Returns:
- original string
- Throws:
DecoderException
- A decoder exception is thrown if a failure condition is encountered during the decode process.
encode
public Object encode(Object value) throws EncoderException
Encodes an object into its Base64 form using the default charset. Unsafe characters are escaped.- Specified by:
encode
in interfaceEncoder
- Parameters:
value
- object to convert to Base64 form- Returns:
- Base64 object
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.
decode
public Object decode(Object value) throws DecoderException
Decodes a Base64 object into its original form. Escaped characters are converted back to their original representation.- Specified by:
decode
in interfaceDecoder
- Parameters:
value
- Base64 object to convert into its original form- Returns:
- original object
- Throws:
DecoderException
- Thrown if the argument is not aString
. Thrown if a failure condition is encountered during the decode process.
getCharset
public Charset getCharset()
Gets the default charset name used for string decoding and encoding.- Returns:
- the default charset name
- Since:
- 1.7
getDefaultCharset
public String getDefaultCharset()
Gets the default charset name used for string decoding and encoding.- Returns:
- the default charset name
encodeText
protected String encodeText(String text, Charset charset) throws EncoderException
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.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.- Parameters:
text
- a string to encodecharset
- a charset to be used- Returns:
- RFC 1522 compliant "encoded-word"
- Throws:
EncoderException
- thrown if there is an error condition during the Encoding process.- See Also:
- Standard charsets
encodeText
protected String encodeText(String text, String charsetName) throws EncoderException, UnsupportedEncodingException
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.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.- Parameters:
text
- a string to encodecharsetName
- the charset to use- Returns:
- RFC 1522 compliant "encoded-word"
- Throws:
EncoderException
- thrown if there is an error condition during the Encoding process.UnsupportedEncodingException
- if charset is not available- See Also:
- Standard charsets
decodeText
protected String decodeText(String text) throws DecoderException, UnsupportedEncodingException
Applies an RFC 1522 compliant decoding scheme to the given string of text.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.- Parameters:
text
- a string to decode- Returns:
- A new decoded String or
null
if the input isnull
. - Throws:
DecoderException
- thrown if there is an error condition during the decoding process.UnsupportedEncodingException
- thrown if charset specified in the "encoded-word" header is not supported
Copyright © 2002–2013 The Apache Software Foundation. All rights reserved.