Package org.bouncycastle.util.encoders

## Class UrlBase64

- java.lang.Object
- - org.bouncycastle.util.encoders.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`