站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > JBOSS Portal 2.6 API 英文版文档

Base64 - JBOSS Portal 2.6 API 英文版文档


org.jboss.portal.common.util
Class Base64

java.lang.Object
  extended byorg.jboss.portal.common.util.Base64

public class Base64
extends java.lang.Object

Encodes and decodes to and from Base64 and URL-safe Base64 encodings. URL-safe Base64 encoding being defined here as standard Base64 encoding with the following modifications:

Based on version 2.1 of the Base64 class developed by Robert Harder (public domain). Please visit http://iharder.net/base64 periodically to check for updates or to contribute improvements.

Since:
2.4 (Apr 30, 2006)
Author:
Robert Harder, Chris Laprun

Field Summary
private  byte[] ALPHABET
          The 64 valid Base64 values.
private static byte[] BASE64_DECODABET
          Translates a Base64 value to either its 6-bit reconstruction value or a negative number indicating some other meaning.
private  byte[] DECODABET
          Translates a value to either its 6-bit reconstruction value or a negative number indicating some other meaning.
private static byte EQUALS_SIGN
          The equals sign (=) as a byte.
private static int IGNORE
           
private static int MAX_LINE_LENGTH
          Maximum line length (76) of Base64 output.
private static byte[] NATIVE_ALPHABET
           
private static byte[] NATIVE_URL_SAFE_ALPHABET
           
private static byte NEW_LINE
          The new line character (\n) as a byte.
private  byte PADDING_CHAR
          The character to be used as a padding character in the encoded Strings.
private static byte PADDING_CHAR_ENC
           
private static java.lang.String PREFERRED_ENCODING
          Preferred encoding.
private static Base64 STANDARD_BASE64
           
private static byte STAR
          '*' as a byte
private static Base64 URL_SAFE_BASE64
           
private static byte[] URL_SAFE_DECODABET
          Translates a URL-modified Base64 value to either its 6-bit reconstruction value or a negative number indicating some other meaning.
private static byte WHITE_SPACE_ENC
           
 
Constructor Summary
private Base64()
           
private Base64(boolean useURLSafeEncoding)
           
 
Method Summary
static byte[] decode(byte[] source, int off, int len, boolean urlSafeEncodingWasUsed)
          Very low-level access to decoding ASCII characters in the form of a byte array.
private  byte[] decode(int len, int off, byte[] source)
          Very low-level access to decoding ASCII characters in the form of a byte array.
static byte[] decode(java.lang.String s)
          Decodes data from Base64 notation
static byte[] decode(java.lang.String s, boolean urlSafeEncodingWasUsed)
          Decodes data from Base64 notation
private  int decode4to3(byte[] source, int srcOffset, byte[] destination, int destOffset)
          Decodes four bytes from array source and writes the resulting bytes (up to three of them) to destination.
private  byte[] encode3to4(byte[] source, int srcOffset, int numSigBytes, byte[] destination, int destOffset)
          Encodes up to three bytes of the array source and writes the resulting four Base64 bytes to destination.
static java.lang.String encodeBytes(byte[] source)
          Encodes a byte array into Base64 notation using the standard Base64 encoding.
static java.lang.String encodeBytes(byte[] source, boolean useURLSafeEncoding)
          Encodes a byte array into Base64 notation.
static java.lang.String encodeBytes(byte[] source, int off, int len, boolean useURLSafeEncoding)
          Encodes a byte array into Base64 notation.
private static Base64 getBase64(boolean useURLSafeEncoding)
           
 void initAlphabets(boolean useURLSafeEncoding)
          Determine which ALPHABET to use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_LINE_LENGTH

private static final int MAX_LINE_LENGTH
Maximum line length (76) of Base64 output.

See Also:
Constant Field Values

EQUALS_SIGN

private static final byte EQUALS_SIGN
The equals sign (=) as a byte.

See Also:
Constant Field Values

STAR

private static final byte STAR
'*' as a byte

See Also:
Constant Field Values

PADDING_CHAR

private byte PADDING_CHAR
The character to be used as a padding character in the encoded Strings.


NEW_LINE

private static final byte NEW_LINE
The new line character (\n) as a byte.

See Also:
Constant Field Values

PREFERRED_ENCODING

private static final java.lang.String PREFERRED_ENCODING
Preferred encoding.

See Also:
Constant Field Values

ALPHABET

private byte[] ALPHABET
The 64 valid Base64 values.


NATIVE_ALPHABET

private static final byte[] NATIVE_ALPHABET

NATIVE_URL_SAFE_ALPHABET

private static final byte[] NATIVE_URL_SAFE_ALPHABET

IGNORE

private static final int IGNORE
See Also:
Constant Field Values

WHITE_SPACE_ENC

private static final byte WHITE_SPACE_ENC
See Also:
Constant Field Values

PADDING_CHAR_ENC

private static final byte PADDING_CHAR_ENC
See Also:
Constant Field Values

DECODABET

private byte[] DECODABET
Translates a value to either its 6-bit reconstruction value or a negative number indicating some other meaning.


BASE64_DECODABET

private static final byte[] BASE64_DECODABET
Translates a Base64 value to either its 6-bit reconstruction value or a negative number indicating some other meaning.


URL_SAFE_DECODABET

private static final byte[] URL_SAFE_DECODABET
Translates a URL-modified Base64 value to either its 6-bit reconstruction value or a negative number indicating some other meaning.


STANDARD_BASE64

private static final Base64 STANDARD_BASE64

URL_SAFE_BASE64

private static final Base64 URL_SAFE_BASE64
Constructor Detail

Base64

private Base64()

Base64

private Base64(boolean useURLSafeEncoding)
Method Detail

initAlphabets

public void initAlphabets(boolean useURLSafeEncoding)
Determine which ALPHABET to use.


getBase64

private static Base64 getBase64(boolean useURLSafeEncoding)

encode3to4

private byte[] encode3to4(byte[] source,
                          int srcOffset,
                          int numSigBytes,
                          byte[] destination,
                          int destOffset)
Encodes up to three bytes of the array source and writes the resulting four Base64 bytes to destination. The source and destination arrays can be manipulated anywhere along their length by specifying srcOffset and destOffset. This method does not check to make sure your arrays are large enough to accomodate srcOffset + 3 for the source array or destOffset + 4 for the destination array. The actual number of significant bytes in your array is given by numSigBytes.

Parameters:
source - the array to convert
srcOffset - the index where conversion begins
numSigBytes - the number of significant bytes in your array
destination - the array to hold the conversion
destOffset - the index where output will be put
Returns:
the destination array

encodeBytes

public static java.lang.String encodeBytes(byte[] source)
Encodes a byte array into Base64 notation using the standard Base64 encoding.

Parameters:
source - The data to convert

encodeBytes

public static java.lang.String encodeBytes(byte[] source,
                                           boolean useURLSafeEncoding)
Encodes a byte array into Base64 notation.

Parameters:
source - The data to convert
useURLSafeEncoding - true to use '-', '_' instead of '+', '/' in the alphabet and '*' instead of '=' for padding to generate a URL-safe encoding. Note: Technically, this makes your encoding non-compliant.

encodeBytes

public static java.lang.String encodeBytes(byte[] source,
                                           int off,
                                           int len,
                                           boolean useURLSafeEncoding)
Encodes a byte array into Base64 notation.

Parameters:
source - The data to convert
off - Offset in array where conversion should begin
len - Length of data to convert
useURLSafeEncoding - true to use '-', '_' instead of '+', '/' in the alphabet and '*' instead of '=' for padding to generate a URL-safe encoding. Note: Technically, this makes your encoding non-compliant.

decode4to3

private int decode4to3(byte[] source,
                       int srcOffset,
                       byte[] destination,
                       int destOffset)
Decodes four bytes from array source and writes the resulting bytes (up to three of them) to destination. The source and destination arrays can be manipulated anywhere along their length by specifying srcOffset and destOffset. This method does not check to make sure your arrays are large enough to accomodate srcOffset + 4 for the source array or destOffset + 3 for the destination array. This method returns the actual number of bytes that were converted from the Base64 encoding.

Parameters:
source - the array to convert
srcOffset - the index where conversion begins
destination - the array to hold the conversion
destOffset - the index where output will be put
Returns:
the number of decoded bytes converted

decode

private byte[] decode(int len,
                      int off,
                      byte[] source)
Very low-level access to decoding ASCII characters in the form of a byte array.

Parameters:
source - The Base64 encoded data
off - The offset of where to begin decoding
len - The length of characters to decode
Returns:
decoded data

decode

public static byte[] decode(byte[] source,
                            int off,
                            int len,
                            boolean urlSafeEncodingWasUsed)
Very low-level access to decoding ASCII characters in the form of a byte array.

Parameters:
source - The Base64 encoded data
off - The offset of where to begin decoding
len - The length of characters to decode
urlSafeEncodingWasUsed - true if the URL-safe was used to encode the data to be decoded
Returns:
decoded data

decode

public static byte[] decode(java.lang.String s,
                            boolean urlSafeEncodingWasUsed)
Decodes data from Base64 notation

Parameters:
s - the string to decode
urlSafeEncodingWasUsed - true if the URL-safe was used to encode the data to be decoded
Returns:
the decoded data

decode

public static byte[] decode(java.lang.String s)
Decodes data from Base64 notation

Parameters:
s - the string to decode
Returns:
the decoded data