org.codehaus.plexus.util
public class Base64 extends Object
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 2656 2005-10-11 12:37:02Z brett $
See Also: RFC 2045
Field Summary | |
---|---|
static byte[] | base64Alphabet
Contains the Base64 values 0 through 63 accessed by using character encodings as
indices.
|
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
Contains the Base64 encodings |
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 | |
---|---|
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.
|
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)
Returns whether or not the octect is in the base 64 alphabet.
|
0
through 63
accessed by using character encodings as
indices.
For example, base64Alphabet['+']
returns 62
.
The value of undefined encodings is -1
.
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
Contains the Base64 encodings A
through Z
, followed by a
through
z
, followed by 0
through 9
, followed by +
, and
/
.
This array is accessed by using character values as indices.
For example, lookUpBase64Alphabet[62]
returns '+'
.
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: 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 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
octect
is in the base 64 alphabet.
Parameters: octect The value to test
Returns: true
if the value is defined in the the base 64 alphabet, false
otherwise.