Class UrlBase64

java.lang.Object
org.bouncycastle.util.encoders.UrlBase64

public class UrlBase64 extends 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
     
  • Method Summary

    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, 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(String data)
    decode the URL safe base 64 encoded String data - whitespace will be ignored.
    static int
    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, 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 Details

    • UrlBase64

      public UrlBase64()
  • Method Details

    • 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, OutputStream out) throws IOException
      Encode the byte data writing it to the given output stream.
      Returns:
      the number of bytes produced.
      Throws:
      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, OutputStream out) throws 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:
      IOException
    • decode

      public static byte[] decode(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(String data, OutputStream out) throws 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:
      IOException