org.apache.ws.commons.util

Class Base64

public class Base64 extends Object

Performs Base64 encoding and/or decoding. This is an on-the-fly decoder: Unlike, for example, the commons-codec classes, it doesn't depend on byte arrays. In other words, it has an extremely low memory profile. This is well suited even for very large byte streams.
Nested Class Summary
abstract static classBase64.Decoder
An encoder is an object, which is able to decode char arrays in blocks of four bytes.
static classBase64.DecodingException
An exception of this type is thrown, if the decoded character stream contains invalid input.
abstract static classBase64.Encoder
An encoder is an object, which is able to encode byte array in blocks of three bytes.
static classBase64.EncoderOutputStream
An OutputStream, which is writing to the given Encoder.
static classBase64.SAXEncoder
An Encoder, which is writing to a SAX content handler.
static classBase64.SAXIOException
An exception of this type is thrown by the SAXEncoder, if writing to the target handler causes a SAX exception.
Field Summary
static StringLINE_SEPARATOR
Default line separator: \n
static intLINE_SIZE
Default size for line wrapping.
Method Summary
static byte[]decode(char[] pBuffer, int pOffset, int pLength)
Converts the given base64 encoded character buffer into a byte array.
static byte[]decode(char[] pBuffer)
Converts the given base64 encoded character buffer into a byte array.
static byte[]decode(String pBuffer)
Converts the given base64 encoded String into a byte array.
static Stringencode(byte[] pBuffer, int pOffset, int pLength)
Converts the given byte array into a base64 encoded character array.
static Stringencode(byte[] pBuffer, int pOffset, int pLength, int pLineSize, String pSeparator)
Converts the given byte array into a base64 encoded character array.
static Stringencode(byte[] pBuffer)
Converts the given byte array into a base64 encoded character array with the line size LINE_SIZE and the separator LINE_SEPARATOR.
WriternewDecoder(OutputStream pStream)
Returns a Writer, that decodes its Base64 encoded input and writes it to the given OutputStream.
static OutputStreamnewEncoder(Writer pWriter)
Returns an OutputStream, that encodes its input in Base64 and writes it to the given Writer.
static OutputStreamnewEncoder(Writer pWriter, int pLineSize, String pSeparator)
Returns an OutputStream, that encodes its input in Base64 and writes it to the given Writer.

Field Detail

LINE_SEPARATOR

public static final String LINE_SEPARATOR
Default line separator: \n

LINE_SIZE

public static final int LINE_SIZE
Default size for line wrapping.

Method Detail

decode

public static byte[] decode(char[] pBuffer, int pOffset, int pLength)
Converts the given base64 encoded character buffer into a byte array.

Parameters: pBuffer The character buffer being decoded. pOffset Offset of first character being decoded. pLength Number of characters being decoded.

Returns: Converted byte array

Throws: DecodingException The input character stream contained invalid data.

decode

public static byte[] decode(char[] pBuffer)
Converts the given base64 encoded character buffer into a byte array.

Parameters: pBuffer The character buffer being decoded.

Returns: Converted byte array

Throws: DecodingException The input character stream contained invalid data.

decode

public static byte[] decode(String pBuffer)
Converts the given base64 encoded String into a byte array.

Parameters: pBuffer The string being decoded.

Returns: Converted byte array

Throws: DecodingException The input character stream contained invalid data.

encode

public static String encode(byte[] pBuffer, int pOffset, int pLength)
Converts the given byte array into a base64 encoded character array.

Parameters: pBuffer The buffer being encoded. pOffset Offset in buffer, where to begin encoding. pLength Number of bytes being encoded.

Returns: Character array of encoded bytes.

encode

public static String encode(byte[] pBuffer, int pOffset, int pLength, int pLineSize, String pSeparator)
Converts the given byte array into a base64 encoded character array.

Parameters: pBuffer The buffer being encoded. pOffset Offset in buffer, where to begin encoding. pLength Number of bytes being encoded. pLineSize Size of one line in characters, must be a multiple of four. Zero indicates, that no line wrapping should occur. pSeparator Line separator or null, in which case the default value LINE_SEPARATOR is used.

Returns: Character array of encoded bytes.

encode

public static String encode(byte[] pBuffer)
Converts the given byte array into a base64 encoded character array with the line size LINE_SIZE and the separator LINE_SEPARATOR.

Parameters: pBuffer The buffer being encoded.

Returns: Character array of encoded bytes.

newDecoder

public Writer newDecoder(OutputStream pStream)
Returns a Writer, that decodes its Base64 encoded input and writes it to the given OutputStream. Note, that the writers Writer#close() method will not close the output stream pStream!

Parameters: pStream Target output stream.

Returns: An output stream, encoding its input in Base64 and writing the output to the writer pWriter.

newEncoder

public static OutputStream newEncoder(Writer pWriter)
Returns an OutputStream, that encodes its input in Base64 and writes it to the given Writer. If the Base64 stream ends, then the output streams OutputStream#close() method must be invoked. Note, that this will not close the target Writer!

Parameters: pWriter Target writer.

Returns: An output stream, encoding its input in Base64 and writing the output to the writer pWriter.

newEncoder

public static OutputStream newEncoder(Writer pWriter, int pLineSize, String pSeparator)
Returns an OutputStream, that encodes its input in Base64 and writes it to the given Writer. If the Base64 stream ends, then the output streams OutputStream#close() method must be invoked. Note, that this will not close the target Writer!

Parameters: pWriter Target writer. pLineSize Size of one line in characters, must be a multiple of four. Zero indicates, that no line wrapping should occur. pSeparator Line separator or null, in which case the default value LINE_SEPARATOR is used.

Returns: An output stream, encoding its input in Base64 and writing the output to the writer pWriter.

Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.