to top
Android APIs
public class

Base64

extends Object
java.lang.Object
   ↳ android.util.Base64

Class Overview

Utilities for encoding and decoding the Base64 representation of binary data. See RFCs 2045 and 3548.

Summary

Constants
int CRLF Encoder flag bit to indicate lines should be terminated with a CRLF pair instead of just an LF.
int DEFAULT Default values for encoder/decoder flags.
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.
int NO_PADDING Encoder flag bit to omit the padding '=' characters at the end of the output (if any).
int NO_WRAP Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).
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 /.
Public Methods
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(byte[] input, 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 offset, int len, int flags)
Base64-encode the given data and return a newly allocated String with the result.
static String encodeToString(byte[] input, int flags)
Base64-encode the given data and return a newly allocated String with the result.
[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final int CRLF

Added in API level 8

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.

Constant Value: 4 (0x00000004)

public static final int DEFAULT

Added in API level 8

Default values for encoder/decoder flags.

Constant Value: 0 (0x00000000)

public static final int NO_CLOSE

Added in API level 8

Flag to pass to Base64OutputStream to indicate that it should not close the output stream it is wrapping when it itself is closed.

Constant Value: 16 (0x00000010)

public static final int NO_PADDING

Added in API level 8

Encoder flag bit to omit the padding '=' characters at the end of the output (if any).

Constant Value: 1 (0x00000001)

public static final int NO_WRAP

Added in API level 8

Encoder flag bit to omit all line terminators (i.e., the output will be on one long line).

Constant Value: 2 (0x00000002)

public static final int URL_SAFE

Added in API level 8

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 /.

Constant Value: 8 (0x00000008)

Public Methods

public static byte[] decode (byte[] input, int offset, int len, int flags)

Added in API level 8

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

public static byte[] decode (byte[] input, int flags)

Added in API level 8

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

public static byte[] decode (String str, int flags)

Added in API level 8

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

public static byte[] encode (byte[] input, int flags)

Added in API level 8

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.

public static byte[] encode (byte[] input, int offset, int len, int flags)

Added in API level 8

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.

public static String encodeToString (byte[] input, int offset, int len, int flags)

Added in API level 8

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.

public static String encodeToString (byte[] input, int flags)

Added in API level 8

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.