org.apache.commons.codec.binary
public class Base64 extends Object implements BinaryEncoder, BinaryDecoder
This class implements section 6.8. Base64 Content-Transfer-Encoding from RFC 2045 Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies by Freed and Borenstein.
Since: 1.0-dev
Version: $Id: Base64.java 130370 2004-05-24 00:25:22Z ggregory $
See Also: RFC 2045
Field Summary | |
---|---|
static byte[] | base64Alphabet |
static int | BASELENGTH
The base length. |
static byte[] | CHUNK_SEPARATOR
Chunk separator per RFC 2045 section 2.1.
|
static int | CHUNK_SIZE
Chunk size per RFC 2045 section 6.8.
|
static int | EIGHTBIT
Used to calculate the number of bits in a byte. |
static int | FOURBYTE
Used to get the number of Quadruples. |
static byte[] | lookUpBase64Alphabet |
static int | LOOKUPLENGTH
Lookup length. |
static byte | PAD
Byte used to pad output. |
static int | SIGN
Used to test the sign of a byte. |
static int | SIXTEENBIT
Used when encoding something which has fewer than 24 bits. |
static int | TWENTYFOURBITGROUP
Used to determine how many bits data contains. |
Method Summary | |
---|---|
Object | decode(Object pObject)
Decodes an Object using the base64 algorithm. |
byte[] | decode(byte[] pArray)
Decodes a byte[] containing containing
characters in the Base64 alphabet.
|
static byte[] | decodeBase64(byte[] base64Data)
Decodes Base64 data into octects
|
static byte[] | discardNonBase64(byte[] data)
Discards any characters outside of the base64 alphabet, per
the requirements on page 25 of RFC 2045 - "Any characters
outside of the base64 alphabet are to be ignored in base64
encoded data."
|
static byte[] | discardWhitespace(byte[] data)
Discards any whitespace from a base-64 encoded block.
|
Object | encode(Object pObject)
Encodes an Object using the base64 algorithm. |
byte[] | encode(byte[] pArray)
Encodes a byte[] containing binary data, into a byte[] containing
characters in the Base64 alphabet.
|
static byte[] | encodeBase64(byte[] binaryData)
Encodes binary data using the base64 algorithm but
does not chunk the output.
|
static byte[] | encodeBase64(byte[] binaryData, boolean isChunked)
Encodes binary data using the base64 algorithm, optionally
chunking the output into 76 character blocks.
|
static byte[] | encodeBase64Chunked(byte[] binaryData)
Encodes binary data using the base64 algorithm and chunks
the encoded output into 76 character blocks
|
static boolean | isArrayByteBase64(byte[] arrayOctect)
Tests a given byte array to see if it contains
only valid characters within the Base64 alphabet.
|
static boolean | isBase64(byte octect) |
See Also: RFC 2045 section 2.1
The {@value } character limit does not count the trailing CRLF, but counts all other characters, including any equal signs.
See Also: RFC 2045 section 6.8
Parameters: pObject Object to decode
Returns: An object (of type byte[]) containing the binary data which corresponds to the byte[] supplied.
Throws: DecoderException if the parameter supplied is not of type byte[]
Parameters: pArray A byte array containing Base64 character data
Returns: a byte array containing binary data
Parameters: base64Data Byte array containing Base64 data
Returns: Array containing decoded data.
Parameters: data The base-64 encoded data to groom
Returns: The data, less non-base64 characters (see RFC 2045).
Parameters: data The base-64 encoded data to discard the whitespace from.
Returns: The data, less whitespace (see RFC 2045).
Parameters: pObject Object to encode
Returns: An object (of type byte[]) containing the base64 encoded data which corresponds to the byte[] supplied.
Throws: EncoderException if the parameter supplied is not of type byte[]
Parameters: pArray a byte array containing binary data
Returns: A byte array containing only Base64 character data
Parameters: binaryData binary data to encode
Returns: Base64 characters
Parameters: binaryData Array containing binary data to encode. isChunked if isChunked is true this encoder will chunk the base64 output into 76 character blocks
Returns: Base64-encoded data.
Parameters: binaryData binary data to encode
Returns: Base64 characters chunked in 76 character blocks
Parameters: arrayOctect byte array to test
Returns: true if all bytes are valid characters in the Base64 alphabet or if the byte array is empty; false, otherwise