org.apache.ws.commons.util

Class Base64


public class Base64
extends java.lang.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

static class
Base64.Decoder
An encoder is an object, which is able to decode char arrays in blocks of four bytes.
static class
Base64.DecodingException
An exception of this type is thrown, if the decoded character stream contains invalid input.
static class
Base64.Encoder
An encoder is an object, which is able to encode byte array in blocks of three bytes.
static class
Base64.EncoderOutputStream
An OutputStream, which is writing to the given Base64.Encoder.
static class
Base64.SAXEncoder
An Base64.Encoder, which is writing to a SAX content handler.
static class
Base64.SAXIOException
An exception of this type is thrown by the Base64.SAXEncoder, if writing to the target handler causes a SAX exception.

Field Summary

static String
LINE_SEPARATOR
Default line separator: \n
static int
LINE_SIZE
Default size for line wrapping.

Method Summary

static byte[]
decode(String pBuffer)
Converts the given base64 encoded String into a byte array.
static byte[]
decode(char[] pBuffer)
Converts the given base64 encoded character buffer into a byte array.
static byte[]
decode(char[] pBuffer, int pOffset, int pLength)
Converts the given base64 encoded character buffer into a byte array.
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.
static String
encode(byte[] pBuffer, int pOffset, int pLength)
Converts the given byte array into a base64 encoded character array.
static String
encode(byte[] pBuffer, int pOffset, int pLength, int pLineSize, String pSeparator)
Converts the given byte array into a base64 encoded character array.
Writer
newDecoder(OutputStream pStream)
Returns a Writer, that decodes its Base64 encoded input and writes it to the given OutputStream.
static OutputStream
newEncoder(Writer pWriter)
Returns an OutputStream, that encodes its input in Base64 and writes it to the given Writer.
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.

Field Details

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.
Field Value:
76

Method Details

decode

public static byte[] decode(String pBuffer)
            throws Base64.DecodingException
Converts the given base64 encoded String into a byte array.
Parameters:
pBuffer - The string being decoded.
Returns:
Converted byte array
Throws:
Base64.DecodingException - The input character stream contained invalid data.

decode

public static byte[] decode(char[] pBuffer)
            throws Base64.DecodingException
Converts the given base64 encoded character buffer into a byte array.
Parameters:
pBuffer - The character buffer being decoded.
Returns:
Converted byte array
Throws:
Base64.DecodingException - The input character stream contained invalid data.

decode

public static byte[] decode(char[] pBuffer,
                            int pOffset,
                            int pLength)
            throws Base64.DecodingException
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:
Base64.DecodingException - The input character stream contained invalid data.

encode

public static String encode(byte[] pBuffer)
Parameters:
pBuffer - The buffer being encoded.
Returns:
Character array of encoded bytes.

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.
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!
Returns:
An output stream, encoding its input in Base64 and writing the output to the writer pWriter.