org.apache.commons.codec.net

Class BCodec

Implemented Interfaces:
Decoder, Encoder, StringDecoder, StringEncoder

public class BCodec
extends RFC1522Codec
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.

Version:
$Id: BCodec.java,v 1.5 2004/04/13 22:46:37 ggregory Exp $

Author:
Apache Software Foundation

Since:
1.3

See Also:
MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text

Field Summary

private String
charset
The default charset used for string decoding and encoding.

Constructor Summary

BCodec()
Default constructor.
BCodec(String charset)
Constructor which allows for the selection of a default charset

Method Summary

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 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, String charset)
Encodes a string into its Base64 form using the specified charset.
String
getDefaultCharset()
The default charset used for string decoding and encoding.
protected String
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522)

Methods inherited from class org.apache.commons.codec.net.RFC1522Codec

decodeText, doDecoding, doEncoding, encodeText, getEncoding

Field Details

charset

private String charset
The default charset used for string decoding and encoding.

Constructor Details

BCodec

public BCodec()
Default constructor.


BCodec

public BCodec(String charset)
Constructor which allows for the selection of a default charset

Parameters:
charset - the default string charset to use.

See Also:
JRE character encoding names

Method Details

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 interface Decoder

Parameters:
value - Base64 object to convert into its original form

Returns:
original object

Throws:
DecoderException - A decoder exception is thrown if a failure condition is encountered during the decode 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 interface StringDecoder

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.


doDecoding

protected byte[] doDecoding(byte[] bytes)
            throws DecoderException
Decodes an array of bytes using the defined encoding scheme
Overrides:
doDecoding in interface RFC1522Codec

Parameters:
bytes - Data to be decoded

Returns:
a byte array that contains decoded data

Throws:
DecoderException - A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.


doEncoding

protected byte[] doEncoding(byte[] bytes)
            throws EncoderException
Encodes an array of bytes using the defined encoding scheme
Overrides:
doEncoding in interface RFC1522Codec

Parameters:
bytes - Data to be encoded

Returns:
A byte array containing the encoded data

Throws:
EncoderException - thrown if the Encoder encounters a failure condition during the encoding 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 interface Encoder

Parameters:
value - object to convert to Base64 form

Returns:
Base64 object

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 interface StringEncoder

Parameters:
value - string to convert to Base64 form

Returns:
Base64 string

Throws:
EncoderException - thrown if a failure condition is encountered during the encoding process.


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 form
charset - the charset for pString

Returns:
Base64 string

Throws:
EncoderException - thrown if a failure condition is encountered during the encoding process.


getDefaultCharset

public String getDefaultCharset()
The default charset used for string decoding and encoding.

Returns:
the default string charset.


getEncoding

protected String getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522)
Overrides:
getEncoding in interface RFC1522Codec

Returns:
name of the codec


commons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation