Class Base64


  • public class Base64
    extends Object
    Base64 provides Base64 encoding/decoding of strings and streams.
    • Method Detail

      • main

        public static void main​(String[] args)
        Base64-decodes or -encodes (see decodeOrEncode(String) all the given arguments and prints the results on separate lines in standard output.
        Parameters:
        args - command line arguments to be decoded or encoded
        Since:
        Apache Jackrabbit 2.3
      • decodeOrEncode

        public static String decodeOrEncode​(String data)
        Base64-decodes or -encodes the given string, depending on whether or not it contains a "{base64}" prefix. If the string gets encoded, the "{base64}" prefix is added to it.
        Parameters:
        data - string to be decoded or encoded
        Returns:
        decoded or encoded string
        Since:
        Apache Jackrabbit 2.3
      • decodeIfEncoded

        public static String decodeIfEncoded​(String data)
        Decodes a base64-encoded string marked by a "{base64}" prefix. If the prefix is not found, then the string is returned as-is. If the given string is null, then null is returned.
        Parameters:
        data - string to be decoded, can be null
        Returns:
        the given string, possibly decoded
        Since:
        Apache Jackrabbit 2.3
      • calcEncodedLength

        public static long calcEncodedLength​(long dataLength)
        Calculates the size (i.e. number of bytes) of the base64 encoded output given the length (i.e. number of bytes) of the data to be encoded.
        Parameters:
        dataLength - length (i.e. number of bytes) of the data to be encoded
        Returns:
        size (i.e. number of bytes) of the base64 encoded output
      • guessDecodedLength

        public static long guessDecodedLength​(long encLength)
        Pessimistically guesses the size (i.e. number of bytes) of the decoded output given the length (i.e. number of bytes) of the base64 encoded data.
        Parameters:
        encLength - length (i.e. number of bytes) of the base64 encoded data
        Returns:
        size (i.e. number of bytes) of the decoded output
      • encode

        public static void encode​(InputStream in,
                                  Writer writer)
                           throws IOException
        Outputs base64 representation of the specified stream data to a Writer.
        Parameters:
        in - stream data to be encoded
        writer - writer to output the encoded data
        Throws:
        IOException - if an i/o error occurs
      • encode

        public static void encode​(InputStream in,
                                  OutputStream out)
                           throws IOException
        Outputs base64 representation of the specified stream data to an OutputStream.
        Parameters:
        in - stream data to be encoded
        out - stream where the encoded data should be written to
        Throws:
        IOException - if an i/o error occurs
      • encode

        public static void encode​(byte[] data,
                                  int off,
                                  int len,
                                  Writer writer)
                           throws IOException
        Outputs base64 representation of the specified data to a Writer.
        Parameters:
        data - data to be encoded
        off - offset within data at which to start encoding
        len - length of data to encode
        writer - writer to output the encoded data
        Throws:
        IOException - if an i/o error occurs
      • encode

        public static String encode​(String data)
        Returns the base64 representation of UTF-8 encoded string.
        Parameters:
        data - the string to be encoded
        Returns:
        base64-encoding of the string
        Since:
        Apache Jackrabbit 2.3
      • decode

        public static String decode​(String data)
        Decodes a base64-encoded string using the UTF-8 character encoding. The given string is returned as-is if it doesn't contain a valid base64 encoding.
        Parameters:
        data - the base64-encoded data to be decoded
        Returns:
        decoded string
        Since:
        Apache Jackrabbit 2.3
      • decode

        public static void decode​(Reader reader,
                                  OutputStream out)
                           throws IOException
        Decode base64 encoded data.
        Parameters:
        reader - reader for the base64 encoded data to be decoded
        out - stream where the decoded data should be written to
        Throws:
        IOException - if an i/o error occurs
      • decode

        public static void decode​(InputStream in,
                                  OutputStream out)
                           throws IOException
        Decode base64 encoded data. The data read from the inputstream is assumed to be of charset "US-ASCII".
        Parameters:
        in - inputstream of the base64 encoded data to be decoded
        out - stream where the decoded data should be written to
        Throws:
        IOException - if an i/o error occurs
      • decode

        public static void decode​(String data,
                                  OutputStream out)
                           throws IOException
        Decode base64 encoded data.
        Parameters:
        data - the base64 encoded data to be decoded
        out - stream where the decoded data should be written to
        Throws:
        IOException - if an i/o error occurs
      • decode

        public static void decode​(char[] chars,
                                  OutputStream out)
                           throws IOException
        Decode base64 encoded data.
        Parameters:
        chars - the base64 encoded data to be decoded
        out - stream where the decoded data should be written to
        Throws:
        IOException - if an i/o error occurs
      • decode

        public static void decode​(char[] chars,
                                  int off,
                                  int len,
                                  OutputStream out)
                           throws IOException
        Decode base64 encoded data.
        Parameters:
        chars - the base64 encoded data to be decoded
        off - offset within data at which to start decoding
        len - length of data to decode
        out - stream where the decoded data should be written to
        Throws:
        IOException - if an i/o error occurs