Class Base64Encoder

  • All Implemented Interfaces:
    Encoder

    public class Base64Encoder
    extends java.lang.Object
    implements Encoder
    A streaming Base64 encoder.
    • Constructor Summary

      Constructors 
      Constructor Description
      Base64Encoder()  
    • 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 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.
      private int decodeLastBlock​(java.io.OutputStream out, char c1, char c2, char c3, char c4)  
      int encode​(byte[] data, int off, int length, java.io.OutputStream out)
      encode the input data producing a base 64 output stream.
      private boolean ignore​(char c)  
      protected void initialiseDecodingTable()  
      private int nextI​(byte[] data, int i, int finish)  
      private int nextI​(java.lang.String data, int i, int finish)  
      • 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[] data,
                          int off,
                          int length,
                          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
      • ignore

        private boolean ignore​(char c)
      • 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
      • nextI

        private int nextI​(byte[] data,
                          int i,
                          int finish)
      • 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
      • decodeLastBlock

        private int decodeLastBlock​(java.io.OutputStream out,
                                    char c1,
                                    char c2,
                                    char c3,
                                    char c4)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • nextI

        private int nextI​(java.lang.String data,
                          int i,
                          int finish)