org.eclipse.jetty.util

## Class B64Code

- java.lang.Object
- - org.eclipse.jetty.util.B64Code

- Direct Known Subclasses:
    B64Code

      public class B64Code
      extends Object

  Fast B64 Encoder/Decoder as described in RFC 1421.

  Does not insert or interpret whitespace as described in RFC 1521. If you require this you must pre/post process your data.

  Note that in a web context the usual case is to not want linebreaks or other white space in the encoded output.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `B64Code()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static byte[]` | `decode(char[] b)` Fast Base 64 decode as described in RFC 1421.
    `static byte[]` | `decode(String encoded)` Base 64 decode as described in RFC 2045.
    `static String` | `decode(String encoded, String charEncoding)` Base 64 decode as described in RFC 2045.
    `static char[]` | `encode(byte[] b)` Fast Base 64 encode as described in RFC 1421.
    `static char[]` | `encode(byte[] b, boolean rfc2045)` Fast Base 64 encode as described in RFC 1421 and RFC2045
    `static String` | `encode(String s)` Base 64 encode as described in RFC 1421.
    `static String` | `encode(String s, String charEncoding)` Base 64 encode as described in RFC 1421.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### B64Code

          public B64Code()

  - ### Method Detail

    - #### encode

          public static String encode(String s)

      Base 64 encode as described in RFC 1421.

      Does not insert whitespace as described in RFC 1521.

      Parameters:
        `s` - String to encode.
      Returns:
        String containing the encoded form of the input.

    - #### encode

          public static String encode(String s,
                      String charEncoding)
                               throws UnsupportedEncodingException

      Base 64 encode as described in RFC 1421.

      Does not insert whitespace as described in RFC 1521.

      Parameters:
        `s` - String to encode.
        `charEncoding` - String representing the name of the character encoding of the provided input String.
      Returns:
        String containing the encoded form of the input.
      Throws:
        `UnsupportedEncodingException`

    - #### encode

          public static char[] encode(byte[] b)

      Fast Base 64 encode as described in RFC 1421.

      Does not insert whitespace as described in RFC 1521.

      Avoids creating extra copies of the input/output.

      Parameters:
        `b` - byte array to encode.
      Returns:
        char array containing the encoded form of the input.

    - #### encode

          public static char[] encode(byte[] b,
                      boolean rfc2045)

      Fast Base 64 encode as described in RFC 1421 and RFC2045

      Does not insert whitespace as described in RFC 1521, unless rfc2045 is passed as true.

      Avoids creating extra copies of the input/output.

      Parameters:
        `b` - byte array to encode.
        `rfc2045` - If true, break lines at 76 characters with CRLF
      Returns:
        char array containing the encoded form of the input.

    - #### decode

          public static String decode(String encoded,
                      String charEncoding)
                               throws UnsupportedEncodingException

      Base 64 decode as described in RFC 2045.

      Unlike `decode(char[])`, extra whitespace is ignored.

      Parameters:
        `encoded` - String to decode.
        `charEncoding` - String representing the character encoding used to map the decoded bytes into a String.
      Returns:
        String decoded byte array.
      Throws:
        `UnsupportedEncodingException` - if the encoding is not supported
        `IllegalArgumentException` - if the input is not a valid B64 encoding.

    - #### decode

          public static byte[] decode(char[] b)

      Fast Base 64 decode as described in RFC 1421.

      Unlike other decode methods, this does not attempt to cope with extra whitespace as described in RFC 1521/2045.

      Avoids creating extra copies of the input/output.

      Note this code has been flattened for performance.

      Parameters:
        `b` - char array to decode.
      Returns:
        byte array containing the decoded form of the input.
      Throws:
        `IllegalArgumentException` - if the input is not a valid B64 encoding.

    - #### decode

          public static byte[] decode(String encoded)

      Base 64 decode as described in RFC 2045.

      Unlike `decode(char[])`, extra whitespace is ignored.

      Parameters:
        `encoded` - String to decode.
      Returns:
        byte array containing the decoded form of the input.
      Throws:
        `IllegalArgumentException` - if the input is not a valid B64 encoding.

Copyright © 1995-2012 Mort Bay Consulting. All Rights Reserved.