|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.plexus.util.Base64
public class Base64
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.
Field Summary | |
---|---|
private static byte[] |
base64Alphabet
Contains the Base64 values 0 through 63 accessed by using character encodings as
indices. |
(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
Contains the Base64 encodings A through Z , followed by a through
z , followed by 0 through 9 , followed by + , and
/ . |
(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 Summary | |
---|---|
Base64()
|
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 |
(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. |
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)
Returns whether or not the octect is in the base 64 alphabet. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
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
0
through 63
accessed by using character encodings as
indices.
For example, base64Alphabet['+']
returns 62
.
The value of undefined encodings is -1
.
private static byte[] lookUpBase64Alphabet
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 '+'
.
Constructor Detail |
---|
public Base64()
Method Detail |
---|
private static boolean isBase64(byte octect)
octect
is in the base 64 alphabet.
octect
- The value to test
true
if the value is defined in the the base 64 alphabet, false
otherwise.public static boolean isArrayByteBase64(byte[] arrayOctect)
arrayOctect
- byte array to test
true
if all bytes are valid characters in the Base64
alphabet or if the byte array is empty; false, otherwisepublic static byte[] encodeBase64(byte[] binaryData)
binaryData
- binary data to encode
public static byte[] encodeBase64Chunked(byte[] binaryData)
binaryData
- binary data to encode
public byte[] decode(byte[] pArray)
pArray
- A byte array containing Base64 character data
public static byte[] encodeBase64(byte[] binaryData, boolean isChunked)
binaryData
- Array containing binary data to encode.isChunked
- if true
this encoder will chunk
the base64 output into 76 character blocks
public static byte[] decodeBase64(byte[] base64Data)
base64Data
- Byte array containing Base64 data
static 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 groom
public byte[] encode(byte[] pArray)
pArray
- a byte array containing binary data
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |