Class Base32Encoder

  • All Implemented Interfaces:
    Encoder

    public class Base32Encoder
    extends java.lang.Object
    implements Encoder
    A streaming Base32 encoder.
    • Constructor Summary

      Constructors 
      Constructor 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 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