Class Base64


  • public class Base64
    extends Object
    Implementation of MIME's Base64 encoding and decoding conversions. Optimized code. (raw version taken from oreilly.jonathan.util, and currently com.sun.org.apache.xerces.internal.ds.util.Base64)
    Author:
    Raul Benito(Of the xerces copy, and little adaptations)., Anli Shundi, Christian Geuer-Pollmann
    See Also:
    RFC 2045, TransformBase64Decode
    • Field Detail

      • BASE64DEFAULTLENGTH

        public static final int BASE64DEFAULTLENGTH
        Field BASE64DEFAULTLENGTH
        See Also:
        Constant Field Values
    • Method Detail

      • isWhiteSpace

        protected static final boolean isWhiteSpace​(byte octect)
      • isPad

        protected static final boolean isPad​(byte octect)
      • encodeData

        public char[] encodeData​(byte[] binaryData)
        Encodes hex octects into Base64
        Parameters:
        binaryData - Array containing binaryData
        Returns:
        Encoded Base64 array
      • encodeData

        public static char[] encodeData​(byte[] binaryData,
                                        int length)
        Encode a byte array in Base64 format and return an optionally wrapped line.
        Parameters:
        binaryData - byte[] data to be encoded
        length - int length of wrapped lines; No wrapping if less than 4.
        Returns:
        a String with encoded data
      • encode

        public static String encode​(byte[] binaryData,
                                    int length)
      • encode

        public static String encode​(byte[] binaryData)
      • decode

        public static final byte[] decode​(String encoded)
                                   throws org.apache.xml.security.exceptions.Base64DecodingException
        Decodes Base64 data into octects
        Parameters:
        encoded - Byte array containing Base64 data
        Returns:
        Array containind decoded data.
        Throws:
        org.apache.xml.security.exceptions.Base64DecodingException
      • decode

        public static final byte[] decode​(byte[] base64Data)
                                   throws org.apache.xml.security.exceptions.Base64DecodingException
        Throws:
        org.apache.xml.security.exceptions.Base64DecodingException
      • decodeInternal

        protected static final byte[] decodeInternal​(byte[] base64Data)
                                              throws org.apache.xml.security.exceptions.Base64DecodingException
        Throws:
        org.apache.xml.security.exceptions.Base64DecodingException
      • decode

        public static final void decode​(byte[] base64Data,
                                        OutputStream os)
                                 throws org.apache.xml.security.exceptions.Base64DecodingException,
                                        IOException
        Decodes Base64 data into outputstream
        Parameters:
        base64Data - Byte array containing Base64 data
        os - the outputstream
        Throws:
        IOException
        org.apache.xml.security.exceptions.Base64DecodingException
      • decode

        public static final void decode​(InputStream is,
                                        OutputStream os)
                                 throws org.apache.xml.security.exceptions.Base64DecodingException,
                                        IOException
        Decodes Base64 data into outputstream
        Parameters:
        is - containing Base64 data
        os - the outputstream
        Throws:
        IOException
        org.apache.xml.security.exceptions.Base64DecodingException
      • removeWhiteSpace

        protected static int removeWhiteSpace​(byte[] data)
        remove WhiteSpace from MIME containing encoded Base64 data.
        Parameters:
        data - the byte array of base64 data (with WS)
        Returns:
        the new length