org.apache.xmlrpc
Class Base64

java.lang.Object
  extended byorg.apache.xmlrpc.Base64

public final class Base64
extends java.lang.Object

This class provides encode/decode for RFC 2045 Base64 as defined by RFC 2045, N. Freed and N. Borenstein. RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies. Reference 1996

Since:
1.2
Author:
Jeffrey Rodriguez, Daniel Rall

Field Summary
private static byte[] base64Alphabet
           
private static int BASELENGTH
           
(package private) static byte[] CHUNK_SEPARATOR
           
(package private) static int CHUNK_SIZE
           
private static int EIGHTBIT
           
private static int FOURBYTE
           
private static byte[] lookUpBase64Alphabet
           
private static int LOOKUPLENGTH
           
private static byte PAD
           
private static int SIGN
           
private static int SIXBIT
           
private static int SIXTEENBIT
           
private static int TWENTYFOURBITGROUP
           
 
Constructor Summary
Base64()
           
 
Method Summary
static byte[] decode(byte[] base64Data)
          Decodes Base64 data into octects
(package private) static byte[] discardWhitespace(byte[] data)
          Discards any whitespace from a base-64 encoded block.
static byte[] encode(byte[] binaryData)
          Encodes hex octects into Base64.
static boolean isArrayByteBase64(byte[] arrayOctect)
           
static boolean isBase64(byte octect)
           
static boolean isBase64(java.lang.String isValidString)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CHUNK_SIZE

static final int CHUNK_SIZE
See Also:
Constant Field Values

CHUNK_SEPARATOR

static final byte[] CHUNK_SEPARATOR

BASELENGTH

private static final int BASELENGTH
See Also:
Constant Field Values

LOOKUPLENGTH

private static final int LOOKUPLENGTH
See Also:
Constant Field Values

TWENTYFOURBITGROUP

private static final int TWENTYFOURBITGROUP
See Also:
Constant Field Values

EIGHTBIT

private static final int EIGHTBIT
See Also:
Constant Field Values

SIXTEENBIT

private static final int SIXTEENBIT
See Also:
Constant Field Values

SIXBIT

private static final int SIXBIT
See Also:
Constant Field Values

FOURBYTE

private static final int FOURBYTE
See Also:
Constant Field Values

SIGN

private static final int SIGN
See Also:
Constant Field Values

PAD

private static final byte PAD
See Also:
Constant Field Values

base64Alphabet

private static byte[] base64Alphabet

lookUpBase64Alphabet

private static byte[] lookUpBase64Alphabet
Constructor Detail

Base64

public Base64()
Method Detail

isBase64

public static boolean isBase64(java.lang.String isValidString)

isBase64

public static boolean isBase64(byte octect)

isArrayByteBase64

public static boolean isArrayByteBase64(byte[] arrayOctect)

encode

public static byte[] encode(byte[] binaryData)
Encodes hex octects into Base64.

Parameters:
binaryData - Array containing binary data to encode.
Returns:
Base64-encoded data.

decode

public static byte[] decode(byte[] base64Data)
Decodes Base64 data into octects

Returns:
Array containing decoded data.

discardWhitespace

static byte[] discardWhitespace(byte[] data)
Discards any whitespace from a base-64 encoded block. Any other non-base-64 characters will be silently discarded. This complies with the RFC, although a warning or exception would also be RFC compliant (and is actually recommended).

Parameters:
data - The base-64 encoded data to discard the whitespace from.
Returns:
The data, less whitespace (see RFC 2045).


Copyright © ${year} Apache Software Foundation. All Rights Reserved.