Class UrlBase64


  • public class UrlBase64
    extends java.lang.Object
    Convert binary data to and from UrlBase64 encoding. This is identical to Base64 encoding, except that the padding character is "." and the other non-alphanumeric characters are "-" and "_" instead of "+" and "/".

    The purpose of UrlBase64 encoding is to provide a compact encoding of binary data that is safe for use as an URL parameter. Base64 encoding does not produce encoded values that are safe for use in URLs, since "/" can be interpreted as a path delimiter; "+" is the encoded form of a space; and "=" is used to separate a name from the corresponding value in an URL parameter.

    • Constructor Summary

      Constructors 
      Constructor Description
      UrlBase64()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static byte[] decode​(byte[] data)
      Decode the URL safe base 64 encoded input data - white space will be ignored.
      static int decode​(byte[] data, java.io.OutputStream out)
      decode the URL safe base 64 encoded byte data writing it to the given output stream, whitespace characters will be ignored.
      static byte[] decode​(java.lang.String data)
      decode the URL safe base 64 encoded String data - whitespace will be ignored.
      static int decode​(java.lang.String data, java.io.OutputStream out)
      Decode the URL safe base 64 encoded String data writing it to the given output stream, whitespace characters will be ignored.
      static byte[] encode​(byte[] data)
      Encode the input data producing a URL safe base 64 encoded byte array.
      static int encode​(byte[] data, java.io.OutputStream out)
      Encode the byte data writing it to the given output stream.
      • Methods inherited from class java.lang.Object

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

      • UrlBase64

        public UrlBase64()
    • Method Detail

      • encode

        public static byte[] encode​(byte[] data)
        Encode the input data producing a URL safe base 64 encoded byte array.
        Returns:
        a byte array containing the URL safe base 64 encoded data.
      • encode

        public static int encode​(byte[] data,
                                 java.io.OutputStream out)
                          throws java.io.IOException
        Encode the byte data writing it to the given output stream.
        Returns:
        the number of bytes produced.
        Throws:
        java.io.IOException
      • decode

        public static byte[] decode​(byte[] data)
        Decode the URL safe base 64 encoded input data - white space will be ignored.
        Returns:
        a byte array representing the decoded data.
      • decode

        public static int decode​(byte[] data,
                                 java.io.OutputStream out)
                          throws java.io.IOException
        decode the URL safe base 64 encoded byte data writing it to the given output stream, whitespace characters will be ignored.
        Returns:
        the number of bytes produced.
        Throws:
        java.io.IOException
      • decode

        public static byte[] decode​(java.lang.String data)
        decode the URL safe base 64 encoded String data - whitespace will be ignored.
        Returns:
        a byte array representing the decoded data.
      • decode

        public static int decode​(java.lang.String data,
                                 java.io.OutputStream out)
                          throws java.io.IOException
        Decode the URL safe base 64 encoded String data writing it to the given output stream, whitespace characters will be ignored.
        Returns:
        the number of bytes produced.
        Throws:
        java.io.IOException