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.
Modifier and Type | Field and Description |
---|---|
private static byte[] |
base64Alphabet |
(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.
|
private static byte[] |
lookUpBase64Alphabet |
(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.
|
Constructor and Description |
---|
Base64() |
Modifier and Type | Method and Description |
---|---|
byte[] |
decode(byte[] pArray)
Decodes a byte[] containing containing
characters in the Base64 alphabet.
|
Object |
decode(Object pObject)
Decodes an Object using the base64 algorithm.
|
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.
|
byte[] |
encode(byte[] pArray)
Encodes a byte[] containing binary data, into a byte[] containing
characters in the Base64 alphabet.
|
Object |
encode(Object pObject)
Encodes an Object using the base64 algorithm.
|
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) |
static final int CHUNK_SIZE
The 76 character limit does not count the trailing CRLF, but counts all other characters, including any equal signs.
static final byte[] CHUNK_SEPARATOR
static final int BASELENGTH
static final int LOOKUPLENGTH
static final int EIGHTBIT
static final int SIXTEENBIT
static final int TWENTYFOURBITGROUP
static final int FOURBYTE
static final int SIGN
static final byte PAD
private static byte[] base64Alphabet
private static byte[] lookUpBase64Alphabet
private static boolean isBase64(byte octect)
public static boolean isArrayByteBase64(byte[] arrayOctect)
arrayOctect
- byte array to testpublic static byte[] encodeBase64(byte[] binaryData)
binaryData
- binary data to encodepublic static byte[] encodeBase64Chunked(byte[] binaryData)
binaryData
- binary data to encodepublic Object decode(Object pObject) throws DecoderException
decode
in interface Decoder
pObject
- Object to decodeDecoderException
- if the parameter supplied is not
of type byte[]public byte[] decode(byte[] pArray)
decode
in interface BinaryDecoder
pArray
- A byte array containing Base64 character datapublic static byte[] encodeBase64(byte[] binaryData, boolean isChunked)
binaryData
- Array containing binary data to encode.isChunked
- if isChunked is true this encoder will chunk
the base64 output into 76 character blockspublic static byte[] decodeBase64(byte[] base64Data)
base64Data
- Byte array containing Base64 datastatic byte[] discardWhitespace(byte[] data)
data
- The base-64 encoded data to discard the whitespace
from.static byte[] discardNonBase64(byte[] data)
data
- The base-64 encoded data to groompublic Object encode(Object pObject) throws EncoderException
encode
in interface Encoder
pObject
- Object to encodeEncoderException
- if the parameter supplied is not
of type byte[]public byte[] encode(byte[] pArray)
encode
in interface BinaryEncoder
pArray
- a byte array containing binary datacommons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation