public class mxBase64 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.Constructor and Description |
---|
mxBase64() |
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 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. |
static String |
encodeToString(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
String representation i accordance with RFC 2045. |
public static final 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
.public static final 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 final byte[] decodeFast(char[] sArr)
decode(char[])
. The preconditions are:sArr
- The source array. Length 0 will return an empty array. null
will throw an exception.public static final 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 final 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 final byte[] decodeFast(byte[] sArr)
decode(byte[])
. The preconditions are:sArr
- The source array. Length 0 will return an empty array. null
will throw an exception.public static final String encodeToString(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 final 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 final byte[] decodeFast(String s)
decode(String)
. The preconditions are:s
- The source string. Length 0 will return an empty array. null
will throw an exception.Copyright (c) 2010 Gaudenz Alder, David Benson. All rights reserved.