org.bouncycastle.util.encoders

## Class Base64Encoder

- java.lang.Object
- - org.bouncycastle.util.encoders.Base64Encoder

- All Implemented Interfaces:
    Encoder
  Direct Known Subclasses:
    UrlBase64Encoder

      public class Base64Encoder
      extends java.lang.Object
      implements Encoder

  A streaming Base64 encoder.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected byte[]` | `decodingTable`
    `protected byte[]` | `encodingTable`
    `protected byte` | `padding`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Base64Encoder()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `decode(byte[] data, int off, int length, java.io.OutputStream out)` decode the base 64 encoded byte data writing it to the given output stream, whitespace characters will be ignored.
    `int` | `decode(java.lang.String data, java.io.OutputStream out)` decode the base 64 encoded String data writing it to the given output stream, whitespace characters will be ignored.
    `int` | `encode(byte[] inBuf, int inOff, int inLen, byte[] outBuf, int outOff)`
    `int` | `encode(byte[] buf, int off, int len, java.io.OutputStream out)` encode the input data producing a base 64 output stream.
    `int` | `getEncodedLength(int inputLength)` Return the expected output length of the encoding.
    `int` | `getMaxDecodedLength(int inputLength)` Return the maximum expected output length of a decoding.
    `protected void` | `initialiseDecodingTable()`

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

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

- - ### Field Detail

    - #### encodingTable

          protected final byte[] encodingTable

    - #### padding

          protected byte padding

    - #### decodingTable

          protected final byte[] decodingTable

  - ### Constructor Detail

    - #### Base64Encoder

          public Base64Encoder()

  - ### Method Detail

    - #### initialiseDecodingTable

          protected void initialiseDecodingTable()

    - #### encode

          public int encode(byte[] inBuf,
                            int inOff,
                            int inLen,
                            byte[] outBuf,
                            int outOff)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getEncodedLength

          public int getEncodedLength(int inputLength)

      Description copied from interface: `Encoder`
      Return the expected output length of the encoding.
      Specified by:
        `getEncodedLength` in interface `Encoder`
      Parameters:
        `inputLength` - the input length of the data.
      Returns:
        the output length of an encoding.

    - #### getMaxDecodedLength

          public int getMaxDecodedLength(int inputLength)

      Description copied from interface: `Encoder`
      Return the maximum expected output length of a decoding. If padding is present the value returned will be greater than the decoded data length.
      Specified by:
        `getMaxDecodedLength` in interface `Encoder`
      Parameters:
        `inputLength` - the input length of the encoded data.
      Returns:
        the upper bound of the output length of a decoding.

    - #### encode

          public int encode(byte[] buf,
                            int off,
                            int len,
                            java.io.OutputStream out)
                     throws java.io.IOException

      encode the input data producing a base 64 output stream.
      Specified by:
        `encode` in interface `Encoder`
      Returns:
        the number of bytes produced.
      Throws:
        `java.io.IOException`

    - #### decode

          public int decode(byte[] data,
                            int off,
                            int length,
                            java.io.OutputStream out)
                     throws java.io.IOException

      decode the base 64 encoded byte data writing it to the given output stream, whitespace characters will be ignored.
      Specified by:
        `decode` in interface `Encoder`
      Returns:
        the number of bytes produced.
      Throws:
        `java.io.IOException`

    - #### decode

          public int decode(java.lang.String data,
                            java.io.OutputStream out)
                     throws java.io.IOException

      decode the base 64 encoded String data writing it to the given output stream, whitespace characters will be ignored.
      Specified by:
        `decode` in interface `Encoder`
      Returns:
        the number of bytes produced.
      Throws:
        `java.io.IOException`