public final class Base64 extends Object
sun.misc.Encoder()/Decoder()
.String
this version is about three
times as fast due to the fact that the Commons Codec result has to be recoded
to a String
from byte[]
, which is very expensive.sun.misc.Encoder()/Decoder()
produce temporary arrays but
since performance is quite low it probably does.Modifier and Type | Method and Description |
---|---|
static byte[] |
decode(byte[] sArr)
Decodes a BASE64 encoded byte array.
|
static byte[] |
decode(char[] sArr)
Decodes a BASE64 encoded char array.
|
static byte[] |
decode(String str)
Decodes a BASE64 encoded
String . |
static byte[] |
decodeFast(byte[] sArr)
Decodes a BASE64 encoded byte array that is known to be resonably well
formatted.
|
static byte[] |
decodeFast(char[] sArr)
Decodes a BASE64 encoded char array that is known to be resonably well
formatted.
|
static byte[] |
decodeFast(String s)
Decodes a BASE64 encoded string that is known to be resonably well
formatted.
|
static String |
encode(byte[] content)
This method is using
Base64.encode(byte[], boolean) , and it only exists
so we don't break the API. |
static String |
encode(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
String representation
i accordance with RFC 2045. |
static byte[] |
encodeToByte(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
byte[] representation
i accordance with RFC 2045. |
static char[] |
encodeToChar(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
char[] representation
i accordance with RFC 2045. |
public static byte[] decode(byte[] sArr)
sArr
- The source array. Length 0 will return an empty array.
null
will throw an exception.null
if the legal characters (including '=') isn't
divideable by 4. (I.e. definitely corrupted).public static byte[] decode(char[] sArr)
sArr
- The source array. null
or length 0 will return an
empty array.null
if the legal characters (including '=') isn't
divideable by 4. (I.e. definitely corrupted).public static byte[] decode(String str)
String
. All illegal characters will
be ignored and can handle both strings with and without line separators.decode(str.toCharArray())
instead. That will create a
temporary array though. This version will use str.charAt(i)
to iterate the string.str
- The source string. null
or length 0 will return
an empty array.null
if the legal characters (including '=') isn't
divideable by 4. (I.e. definitely corrupted).public static byte[] decodeFast(byte[] sArr)
Base64.decode(byte[])
.
The preconditions are:sArr
- The source array. Length 0 will return an empty array.
null
will throw an exception.public static byte[] decodeFast(char[] sArr)
Base64.decode(char[])
.
The preconditions are:sArr
- The source array. Length 0 will return an empty array.
null
will throw an exception.public static byte[] decodeFast(String s)
Base64.decode(String)
.
The preconditions are:s
- The source string. Length 0 will return an empty array.
null
will throw an exception.public static String encode(byte[] content)
Base64.encode(byte[], boolean)
, and it only exists
so we don't break the API.content
- The bytearray that needs to be Base64 encodedpublic static String encode(byte[] sArr, boolean lineSep)
String
representation
i accordance with RFC 2045.sArr
- The bytes to convert. If null
or length 0 an
empty array will be returned.lineSep
- Optional "\r\n" after 76 characters, unless end of file.null
.public static byte[] encodeToByte(byte[] sArr, boolean lineSep)
byte[]
representation
i accordance with RFC 2045.sArr
- The bytes to convert. If null
or length 0 an
empty array will be returned.lineSep
- Optional "\r\n" after 76 characters, unless end of file.null
.public static char[] encodeToChar(byte[] sArr, boolean lineSep)
char[]
representation
i accordance with RFC 2045.sArr
- The bytes to convert. If null
or length 0 an
empty array will be returned.lineSep
- Optional "\r\n" after 76 characters, unless end of file.null
.Copyright © 2010-2018, ForgeRock All Rights Reserved.