org.codehaus.plexus.util

## Class Base64

- java.lang.Object
- - org.codehaus.plexus.util.Base64

    public class Base64
    extends java.lang.Object

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.

Since:
  1.0-dev
Version:
  $Id: Base64.java 8010 2009-01-07 12:59:50Z vsiveton $
Author:
  Apache Software Foundation
See Also:
  RFC 2045

### Constructor Summary

Constructors
Constructor and Description
`Base64()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`byte[]` `decode(byte[] pArray)` Decodes a byte[] containing containing characters in the Base64 alphabet.
`static byte[]` `decodeBase64(byte[] base64Data)` Decodes Base64 data into octects
`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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### Base64

    public Base64()

### Method Detail

#### isArrayByteBase64

    public static boolean isArrayByteBase64(byte[] arrayOctect)

Tests a given byte array to see if it contains only valid characters within the Base64 alphabet.

Parameters:
  `arrayOctect` - byte array to test
Returns:
  `true` if all bytes are valid characters in the Base64 alphabet or if the byte array is empty; false, otherwise

#### encodeBase64

    public static byte[] encodeBase64(byte[] binaryData)

Encodes binary data using the base64 algorithm but does not chunk the output.

Parameters:
  `binaryData` - binary data to encode
Returns:
  Base64 characters

#### encodeBase64Chunked

    public static byte[] encodeBase64Chunked(byte[] binaryData)

Encodes binary data using the base64 algorithm and chunks the encoded output into 76 character blocks

Parameters:
  `binaryData` - binary data to encode
Returns:
  Base64 characters chunked in 76 character blocks

#### decode

    public byte[] decode(byte[] pArray)

Decodes a byte[] containing containing characters in the Base64 alphabet.

Parameters:
  `pArray` - A byte array containing Base64 character data
Returns:
  a byte array containing binary data

#### encodeBase64

    public static byte[] encodeBase64(byte[] binaryData,
                                      boolean isChunked)

Encodes binary data using the base64 algorithm, optionally chunking the output into 76 character blocks.

Parameters:
  `binaryData` - Array containing binary data to encode.
  `isChunked` - if `true` this encoder will chunk the base64 output into 76 character blocks
Returns:
  Base64-encoded data.

#### decodeBase64

    public static byte[] decodeBase64(byte[] base64Data)

Decodes Base64 data into octects

Parameters:
  `base64Data` - Byte array containing Base64 data
Returns:
  Array containing decoded data.

#### encode

    public byte[] encode(byte[] pArray)

Encodes a byte[] containing binary data, into a byte[] containing characters in the Base64 alphabet.

Parameters:
  `pArray` - a byte array containing binary data
Returns:
  A byte array containing only Base64 character data