org.bouncycastle.util.encoders

## Class Base32Encoder

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

- All Implemented Interfaces:
    Encoder

      public class Base32Encoder
      extends java.lang.Object
      implements Encoder

  A streaming Base32 encoder.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Base32Encoder()` Base constructor for RFC 4648, Section 6.
    `Base32Encoder(byte[] encodingTable, byte padding)` Constructor allowing the setting of an alternative alphabet.

  - ### 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 32 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 32 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 32 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`

- - ### Constructor Detail

    - #### Base32Encoder

          public Base32Encoder()

      Base constructor for RFC 4648, Section 6.

    - #### Base32Encoder

          public Base32Encoder(byte[] encodingTable,
                               byte padding)

      Constructor allowing the setting of an alternative alphabet.
      Parameters:
        `encodingTable` - a 32 entry encoding table to do the mapping.
        `padding` - the padding value to use.

  - ### 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 32 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 32 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 32 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`