Class Base64


  • public class Base64
    extends java.lang.Object
    Utilities for encoding and decoding the Base64 representation of binary data. See RFCs 2045 and 3548.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int CRLF
      Encoder flag bit to indicate lines should be terminated with a CRLF pair instead of just an LF.
      static int DEFAULT
      Default values for encoder/decoder flags.
      static int NO_CLOSE
      Flag to pass to Base64OutputStream to indicate that it should not close the output stream it is wrapping when it itself is closed.
      static int NO_PADDING
      Encoder flag bit to omit the padding '=' characters at the end of the output (if any).
      static int NO_WRAP
      Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).
      static int URL_SAFE
      Encoder/decoder flag bit to indicate using the "URL and filename safe" variant of Base64 (see RFC 3548 section 4) where - and _ are used in place of + and /.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] decode​(byte[] input, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.
      static byte[] decode​(byte[] input, int offset, int len, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.
      static byte[] decode​(java.lang.String str, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.
      static byte[] encode​(byte[] input, int flags)
      Base64-encode the given data and return a newly allocated byte[] with the result.
      static byte[] encode​(byte[] input, int offset, int len, int flags)
      Base64-encode the given data and return a newly allocated byte[] with the result.
      static java.lang.String encodeToString​(byte[] input, int flags)
      Base64-encode the given data and return a newly allocated String with the result.
      static java.lang.String encodeToString​(byte[] input, int offset, int len, int flags)
      Base64-encode the given data and return a newly allocated String with the result.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • DEFAULT

        public static final int DEFAULT
        Default values for encoder/decoder flags.
        See Also:
        Constant Field Values
      • NO_PADDING

        public static final int NO_PADDING
        Encoder flag bit to omit the padding '=' characters at the end of the output (if any).
        See Also:
        Constant Field Values
      • NO_WRAP

        public static final int NO_WRAP
        Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).
        See Also:
        Constant Field Values
      • CRLF

        public static final int CRLF
        Encoder flag bit to indicate lines should be terminated with a CRLF pair instead of just an LF. Has no effect if NO_WRAP is specified as well.
        See Also:
        Constant Field Values
      • URL_SAFE

        public static final int URL_SAFE
        Encoder/decoder flag bit to indicate using the "URL and filename safe" variant of Base64 (see RFC 3548 section 4) where - and _ are used in place of + and /.
        See Also:
        Constant Field Values
      • NO_CLOSE

        public static final int NO_CLOSE
        Flag to pass to Base64OutputStream to indicate that it should not close the output stream it is wrapping when it itself is closed.
        See Also:
        Constant Field Values
    • Method Detail

      • decode

        public static byte[] decode​(java.lang.String str,
                                    int flags)
        Decode the Base64-encoded data in input and return the data in a new byte array.

        The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

        Parameters:
        str - the input String to decode, which is converted to bytes using the default charset
        flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
        Throws:
        java.lang.IllegalArgumentException - if the input contains incorrect padding
      • decode

        public static byte[] decode​(byte[] input,
                                    int flags)
        Decode the Base64-encoded data in input and return the data in a new byte array.

        The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

        Parameters:
        input - the input array to decode
        flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
        Throws:
        java.lang.IllegalArgumentException - if the input contains incorrect padding
      • decode

        public static byte[] decode​(byte[] input,
                                    int offset,
                                    int len,
                                    int flags)
        Decode the Base64-encoded data in input and return the data in a new byte array.

        The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

        Parameters:
        input - the data to decode
        offset - the position within the input array at which to start
        len - the number of bytes of input to decode
        flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
        Throws:
        java.lang.IllegalArgumentException - if the input contains incorrect padding
      • encodeToString

        public static java.lang.String encodeToString​(byte[] input,
                                                      int flags)
        Base64-encode the given data and return a newly allocated String with the result.
        Parameters:
        input - the data to encode
        flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
      • encodeToString

        public static java.lang.String encodeToString​(byte[] input,
                                                      int offset,
                                                      int len,
                                                      int flags)
        Base64-encode the given data and return a newly allocated String with the result.
        Parameters:
        input - the data to encode
        offset - the position within the input array at which to start
        len - the number of bytes of input to encode
        flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
      • encode

        public static byte[] encode​(byte[] input,
                                    int flags)
        Base64-encode the given data and return a newly allocated byte[] with the result.
        Parameters:
        input - the data to encode
        flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
      • encode

        public static byte[] encode​(byte[] input,
                                    int offset,
                                    int len,
                                    int flags)
        Base64-encode the given data and return a newly allocated byte[] with the result.
        Parameters:
        input - the data to encode
        offset - the position within the input array at which to start
        len - the number of bytes of input to encode
        flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.