org.apache.commons.codec.binary
Class Base64
- BinaryDecoder, BinaryEncoder, Decoder, Encoder
Provides Base64 encoding and decoding as defined by RFC 2045.
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.
Version:
- Apache Software Foundation
- 1.0-dev
RFC 2045
(package private) static int | BASELENGTH - The base length.
|
(package private) static byte[] | CHUNK_SEPARATOR - Chunk separator per RFC 2045 section 2.1.
|
(package private) static int | CHUNK_SIZE - Chunk size per RFC 2045 section 6.8.
|
(package private) static int | EIGHTBIT - Used to calculate the number of bits in a byte.
|
(package private) static int | FOURBYTE - Used to get the number of Quadruples.
|
(package private) static int | LOOKUPLENGTH - Lookup length.
|
(package private) static byte | PAD - Byte used to pad output.
|
(package private) static int | SIGN - Used to test the sign of a byte.
|
(package private) static int | SIXTEENBIT - Used when encoding something which has fewer than 24 bits.
|
(package private) static int | TWENTYFOURBITGROUP - Used to determine how many bits data contains.
|
private static byte[] | base64Alphabet
|
private static byte[] | lookUpBase64Alphabet
|
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
|
(package private) 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."
|
(package private) 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.
|
private static boolean | isBase64(byte octect)
|
BASELENGTH
(package private) static final int BASELENGTH
The base length.
- 255
CHUNK_SEPARATOR
(package private) static final byte[] CHUNK_SEPARATOR
Chunk separator per RFC 2045 section 2.1.
RFC 2045 section 2.1
CHUNK_SIZE
(package private) static final int CHUNK_SIZE
Chunk size per RFC 2045 section 6.8.
The 76 character limit does not count the trailing CRLF, but counts
all other characters, including any equal signs.
- 76
RFC 2045 section 6.8
EIGHTBIT
(package private) static final int EIGHTBIT
Used to calculate the number of bits in a byte.
- 8
FOURBYTE
(package private) static final int FOURBYTE
Used to get the number of Quadruples.
- 4
LOOKUPLENGTH
(package private) static final int LOOKUPLENGTH
Lookup length.
- 64
PAD
(package private) static final byte PAD
Byte used to pad output.
SIGN
(package private) static final int SIGN
Used to test the sign of a byte.
- -128
SIXTEENBIT
(package private) static final int SIXTEENBIT
Used when encoding something which has fewer than 24 bits.
- 16
TWENTYFOURBITGROUP
(package private) static final int TWENTYFOURBITGROUP
Used to determine how many bits data contains.
- 24
base64Alphabet
private static byte[] base64Alphabet
lookUpBase64Alphabet
private static byte[] lookUpBase64Alphabet
decode
public Object decode(Object pObject)
throws DecoderException
Decodes an Object using the base64 algorithm. This method
is provided in order to satisfy the requirements of the
Decoder interface, and will throw a DecoderException if the
supplied object is not of type byte[].
- decode in interface Decoder
pObject
- Object to decode
- An object (of type byte[]) containing the
binary data which corresponds to the byte[] supplied.
DecoderException
- if the parameter supplied is not
of type byte[]
decode
public byte[] decode(byte[] pArray)
Decodes a byte[] containing containing
characters in the Base64 alphabet.
- decode in interface BinaryDecoder
pArray
- A byte array containing Base64 character data
- a byte array containing binary data
decodeBase64
public static byte[] decodeBase64(byte[] base64Data)
Decodes Base64 data into octects
base64Data
- Byte array containing Base64 data
- Array containing decoded data.
discardNonBase64
(package private) 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."
data
- The base-64 encoded data to groom
- The data, less non-base64 characters (see RFC 2045).
discardWhitespace
(package private) static byte[] discardWhitespace(byte[] data)
Discards any whitespace from a base-64 encoded block.
data
- The base-64 encoded data to discard the whitespace
from.
- The data, less whitespace (see RFC 2045).
encode
public Object encode(Object pObject)
throws EncoderException
Encodes an Object using the base64 algorithm. This method
is provided in order to satisfy the requirements of the
Encoder interface, and will throw an EncoderException if the
supplied object is not of type byte[].
- encode in interface Encoder
pObject
- Object to encode
- An object (of type byte[]) containing the
base64 encoded data which corresponds to the byte[] supplied.
EncoderException
- if the parameter supplied is not
of type byte[]
encode
public byte[] encode(byte[] pArray)
Encodes a byte[] containing binary data, into a byte[] containing
characters in the Base64 alphabet.
- encode in interface BinaryEncoder
pArray
- a byte array containing binary data
- A byte array containing only Base64 character data
encodeBase64
public static byte[] encodeBase64(byte[] binaryData)
Encodes binary data using the base64 algorithm but
does not chunk the output.
binaryData
- binary data to encode
- Base64 characters
encodeBase64
public static byte[] encodeBase64(byte[] binaryData,
boolean isChunked)
Encodes binary data using the base64 algorithm, optionally
chunking the output into 76 character blocks.
binaryData
- Array containing binary data to encode.isChunked
- if isChunked is true this encoder will chunk
the base64 output into 76 character blocks
- Base64-encoded data.
encodeBase64Chunked
public static byte[] encodeBase64Chunked(byte[] binaryData)
Encodes binary data using the base64 algorithm and chunks
the encoded output into 76 character blocks
binaryData
- binary data to encode
- Base64 characters chunked in 76 character blocks
isArrayByteBase64
public static boolean isArrayByteBase64(byte[] arrayOctect)
Tests a given byte array to see if it contains
only valid characters within the Base64 alphabet.
arrayOctect
- byte array to test
- true if all bytes are valid characters in the Base64
alphabet or if the byte array is empty; false, otherwise
isBase64
private static boolean isBase64(byte octect)
commons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation