Class Base64

java.lang.Object
io.sentry.vendor.Base64

public class Base64 extends Object
Utilities for encoding and decoding the Base64 representation of binary data. See RFCs 2045 and 3548.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Encoder flag bit to indicate lines should be terminated with a CRLF pair instead of just an LF.
    static final int
    Default values for encoder/decoder flags.
    static final int
    Flag to pass to Base64OutputStream to indicate that it should not close the output stream it is wrapping when it itself is closed.
    static final int
    Encoder flag bit to omit the padding '=' characters at the end of the output (if any).
    static final int
    Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).
    static final int
    Encoder/decoder flag bit to indicate using the "URL and filename safe" variant of Base64 (see RFC 3548 section 4) where - and _ are used in place of + and /.
  • Method Summary

    Modifier and Type
    Method
    Description
    static byte[]
    decode(byte[] input, int flags)
    Decode the Base64-encoded data in input and return the data in a new byte array.
    static byte[]
    decode(byte[] input, int offset, int len, int flags)
    Decode the Base64-encoded data in input and return the data in a new byte array.
    static byte[]
    decode(String str, int flags)
    Decode the Base64-encoded data in input and return the data in a new byte array.
    static byte[]
    encode(byte[] input, int flags)
    Base64-encode the given data and return a newly allocated byte[] with the result.
    static byte[]
    encode(byte[] input, int offset, int len, int flags)
    Base64-encode the given data and return a newly allocated byte[] with the result.
    static String
    encodeToString(byte[] input, int flags)
    Base64-encode the given data and return a newly allocated String with the result.
    static String
    encodeToString(byte[] input, int offset, int len, int flags)
    Base64-encode the given data and return a newly allocated String with the result.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT

      public static final int DEFAULT
      Default values for encoder/decoder flags.
      See Also:
    • NO_PADDING

      public static final int NO_PADDING
      Encoder flag bit to omit the padding '=' characters at the end of the output (if any).
      See Also:
    • NO_WRAP

      public static final int NO_WRAP
      Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).
      See Also:
    • CRLF

      public static final int CRLF
      Encoder flag bit to indicate lines should be terminated with a CRLF pair instead of just an LF. Has no effect if NO_WRAP is specified as well.
      See Also:
    • URL_SAFE

      public static final int URL_SAFE
      Encoder/decoder flag bit to indicate using the "URL and filename safe" variant of Base64 (see RFC 3548 section 4) where - and _ are used in place of + and /.
      See Also:
    • NO_CLOSE

      public static final int NO_CLOSE
      Flag to pass to Base64OutputStream to indicate that it should not close the output stream it is wrapping when it itself is closed.
      See Also:
  • Method Details

    • decode

      public static byte[] decode(String str, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.

      The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

      Parameters:
      str - the input String to decode, which is converted to bytes using the default charset
      flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
      Throws:
      IllegalArgumentException - if the input contains incorrect padding
    • decode

      public static byte[] decode(byte[] input, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.

      The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

      Parameters:
      input - the input array to decode
      flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
      Throws:
      IllegalArgumentException - if the input contains incorrect padding
    • decode

      public static byte[] decode(byte[] input, int offset, int len, int flags)
      Decode the Base64-encoded data in input and return the data in a new byte array.

      The padding '=' characters at the end are considered optional, but if any are present, there must be the correct number of them.

      Parameters:
      input - the data to decode
      offset - the position within the input array at which to start
      len - the number of bytes of input to decode
      flags - controls certain features of the decoded output. Pass DEFAULT to decode standard Base64.
      Throws:
      IllegalArgumentException - if the input contains incorrect padding
    • encodeToString

      public static String encodeToString(byte[] input, int flags)
      Base64-encode the given data and return a newly allocated String with the result.
      Parameters:
      input - the data to encode
      flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
    • encodeToString

      public static String encodeToString(byte[] input, int offset, int len, int flags)
      Base64-encode the given data and return a newly allocated String with the result.
      Parameters:
      input - the data to encode
      offset - the position within the input array at which to start
      len - the number of bytes of input to encode
      flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
    • encode

      public static byte[] encode(byte[] input, int flags)
      Base64-encode the given data and return a newly allocated byte[] with the result.
      Parameters:
      input - the data to encode
      flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.
    • encode

      public static byte[] encode(byte[] input, int offset, int len, int flags)
      Base64-encode the given data and return a newly allocated byte[] with the result.
      Parameters:
      input - the data to encode
      offset - the position within the input array at which to start
      len - the number of bytes of input to encode
      flags - controls certain features of the encoded output. Passing DEFAULT results in output that adheres to RFC 2045.