Package org.apache.commons.codec.net
Class BCodec
java.lang.Object
org.apache.commons.codec.net.RFC1522Codec
org.apache.commons.codec.net.BCodec
- All Implemented Interfaces:
Decoder
,Encoder
,StringDecoder
,StringEncoder
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
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Charset
The default Charset used for string decoding and encoding.private static final CodecPolicy
The default decoding policy.private final CodecPolicy
If true then decoding should throw an exception for impossible combinations of bits at the end of the byte input.Fields inherited from class org.apache.commons.codec.net.RFC1522Codec
POSTFIX, PREFIX, SEP
-
Constructor Summary
ConstructorsConstructorDescriptionBCodec()
Default constructor.Constructor which allows for the selection of a default CharsetConstructor which allows for the selection of a default CharsetBCodec
(Charset charset, CodecPolicy decodingPolicy) Constructor which allows for the selection of a default Charset. -
Method Summary
Modifier and TypeMethodDescriptionDecodes a Base64 object into its original form.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.Encodes an object into its Base64 form using the default Charset.Encodes a string into its Base64 form using the default Charset.Encodes a string into its Base64 form using the specified Charset.Encodes a string into its Base64 form using the specified Charset.Gets the default Charset name used for string decoding and encoding.Gets the default Charset name used for string decoding and encoding.protected String
Returns the codec name (referred to as encoding in the RFC 1522).boolean
Returns true if decoding behavior is strict.Methods inherited from class org.apache.commons.codec.net.RFC1522Codec
decodeText, encodeText, encodeText
-
Field Details
-
DECODING_POLICY_DEFAULT
The default decoding policy. -
charset
The default Charset used for string decoding and encoding. -
decodingPolicy
If true then decoding should throw an exception for impossible combinations of bits at the end of the byte input. The default is to decode as much of them as possible.
-
-
Constructor Details
-
BCodec
public BCodec()Default constructor. -
BCodec
Constructor which allows for the selection of a default Charset- Parameters:
charset
- the default string Charset to use.- Since:
- 1.7
- See Also:
-
BCodec
Constructor which allows for the selection of a default Charset.- Parameters:
charset
- the default string Charset to use.decodingPolicy
- The decoding policy.- Since:
- 1.15
- See Also:
-
BCodec
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:
-
-
Method Details
-
isStrictDecoding
public boolean isStrictDecoding()Returns true if decoding behavior is strict. Decoding will raise aDecoderException
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.
- Returns:
- true if using strict decoding
- Since:
- 1.15
-
getEncoding
Description copied from class:RFC1522Codec
Returns the codec name (referred to as encoding in the RFC 1522).- Specified by:
getEncoding
in classRFC1522Codec
- Returns:
- name of the codec
-
doEncoding
protected byte[] doEncoding(byte[] bytes) Description copied from class:RFC1522Codec
Encodes an array of bytes using the defined encoding scheme.- Specified by:
doEncoding
in classRFC1522Codec
- Parameters:
bytes
- Data to be encoded- Returns:
- A byte array containing the encoded data
-
doDecoding
protected byte[] doDecoding(byte[] bytes) Description copied from class:RFC1522Codec
Decodes an array of bytes using the defined encoding scheme.- Specified by:
doDecoding
in classRFC1522Codec
- Parameters:
bytes
- Data to be decoded- Returns:
- a byte array that contains decoded data
-
encode
Encodes a string into its Base64 form using the specified Charset. Unsafe characters are escaped.- Parameters:
strSource
- string to convert to Base64 formsourceCharset
- the Charset forvalue
- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.- Since:
- 1.7
-
encode
Encodes a string into its Base64 form using the specified Charset. Unsafe characters are escaped.- Parameters:
strSource
- string to convert to Base64 formsourceCharset
- the Charset forvalue
- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.
-
encode
Encodes a string into its Base64 form using the default Charset. Unsafe characters are escaped.- Specified by:
encode
in interfaceStringEncoder
- Parameters:
strSource
- string to convert to Base64 form- Returns:
- Base64 string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.
-
decode
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
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
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
Gets the default Charset name used for string decoding and encoding.- Returns:
- the default Charset name
- Since:
- 1.7
-
getDefaultCharset
Gets the default Charset name used for string decoding and encoding.- Returns:
- the default Charset name
-