org.apache.cxf.common.util

## Class Base64Utility

- java.lang.Object
- - org.apache.cxf.common.util.Base64Utility

-     public final class Base64Utility
      extends Object

  This class converts to/from base64. The alternative conversions include: encode: byte[] into String byte[] into char[] byte[] into OutStream byte[] into Writer decode: char[] into byte[] String into byte[] char[] into OutStream String into OutStream

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `decode(char[] id, int o, int l, OutputStream ostream)`
    `static byte[]` | `decode(String id)`
    `static byte[]` | `decode(String id, boolean urlSafe)`
    `static void` | `decode(String id, OutputStream ostream)`
    `static byte[]` | `decodeChunk(char[] id, int o, int l)` The `decode_chunk` routine decodes a chunk of data into its native encoding.
    `static String` | `encode(byte[] id)`
    `static String` | `encode(byte[] id, boolean urlSafe)`
    `static void` | `encode(byte[] id, int o, int l, Writer writer)`
    `static void` | `encodeAndStream(byte[] id, int o, int l, boolean urlSafe, OutputStream os)`
    `static void` | `encodeAndStream(byte[] id, int o, int l, OutputStream os)`
    `static char[]` | `encodeChunk(byte[] id, int o, int l)`
    `static char[]` | `encodeChunk(byte[] id, int o, int l, boolean urlSafe)`
    `static void` | `encodeChunk(byte[] id, int o, int l, OutputStream ostream)`
    `static boolean` | `isValidBase64(int ch)`

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

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

- - ### Method Detail

    - #### decodeChunk

          public static byte[] decodeChunk(char[] id,
                           int o,
                           int l)
                                    throws Base64Exception

      The `decode_chunk` routine decodes a chunk of data into its native encoding. base64 encodes each 3 octets of data into 4 characters from a limited 64 character set. The 3 octets are joined to form 24 bits which are then split into 4 x 6bit values. Each 6 bit value is then used as an index into the 64 character table of base64 chars. If the total data length is not a 3 octet multiple the '=' char is used as padding for the final 4 char group, either 1 octet + '==' or 2 octets + '='.
      Parameters:
        `id` - The input data to be processed
        `o` - The offset from which to begin processing
        `l` - The length (bound) at which processing is to end
      Returns:
        The decoded data
      Throws:
        `Base64Exception` - Thrown is processing fails due to formatting exceptions in the encoded data

    - #### decode

          public static byte[] decode(String id)
                               throws Base64Exception

      Throws:
        `Base64Exception`

    - #### decode

          public static byte[] decode(String id,
                      boolean urlSafe)
                               throws Base64Exception

      Throws:
        `Base64Exception`

    - #### decode

          public static void decode(char[] id,
                    int o,
                    int l,
                    OutputStream ostream)
                             throws Base64Exception

      Throws:
        `Base64Exception`

    - #### decode

          public static void decode(String id,
                    OutputStream ostream)
                             throws Base64Exception

      Throws:
        `Base64Exception`

    - #### encode

          public static String encode(byte[] id)

    - #### encode

          public static String encode(byte[] id,
                      boolean urlSafe)

    - #### encodeChunk

          public static char[] encodeChunk(byte[] id,
                           int o,
                           int l)

    - #### encodeChunk

          public static char[] encodeChunk(byte[] id,
                           int o,
                           int l,
                           boolean urlSafe)

    - #### encodeAndStream

          public static void encodeAndStream(byte[] id,
                             int o,
                             int l,
                             OutputStream os)
                                      throws IOException

      Throws:
        `IOException`

    - #### encodeAndStream

          public static void encodeAndStream(byte[] id,
                             int o,
                             int l,
                             boolean urlSafe,
                             OutputStream os)
                                      throws IOException

      Throws:
        `IOException`

    - #### encodeChunk

          public static void encodeChunk(byte[] id,
                         int o,
                         int l,
                         OutputStream ostream)
                                  throws Base64Exception

      Throws:
        `Base64Exception`

    - #### encode

          public static void encode(byte[] id,
                    int o,
                    int l,
                    Writer writer)
                             throws Base64Exception

      Throws:
        `Base64Exception`

    - #### isValidBase64

          public static boolean isValidBase64(int ch)

Apache CXF