public class Base64
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private char[] |
CA |
private static Base64 |
CUSTOM |
private char |
fillChar |
private int[] |
IA |
private static Base64 |
RFC2045 |
Constructor and Description |
---|
Base64(java.lang.String alphabet) |
Modifier and Type | Method and Description |
---|---|
static Base64 |
custom() |
byte[] |
decode(byte[] sArr)
Decodes a BASE64 encoded byte array.
|
byte[] |
decode(char[] sArr)
Decodes a BASE64 encoded char array.
|
byte[] |
decode(java.lang.String str)
Decodes a BASE64 encoded
String . |
byte[] |
decodeFast(byte[] sArr)
Decodes a BASE64 encoded byte array that is known to be resonably well formatted.
|
byte[] |
decodeFast(char[] sArr)
Decodes a BASE64 encoded char array that is known to be resonably well formatted.
|
byte[] |
decodeFast(java.lang.String s)
Decodes a BASE64 encoded string that is known to be resonably well formatted.
|
byte[] |
encodeToByte(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
byte[] representation i accordance with RFC 2045. |
char[] |
encodeToChar(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
char[] representation i accordance with RFC 2045. |
java.lang.String |
encodeToString(byte[] sArr,
boolean lineSep)
Encodes a raw byte array into a BASE64
String representation in accordance with RFC 2045. |
char[] |
getAlphabet() |
static Base64 |
rfc2045() |
private static Base64 RFC2045
private static Base64 CUSTOM
private final char[] CA
private final int[] IA
private final char fillChar
public static Base64 custom()
public static Base64 rfc2045()
public 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 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 final byte[] decode(java.lang.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 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 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 final byte[] decodeFast(java.lang.String s)
decode(String)
. The preconditions are:s
- The source string. Length 0 will return an empty array. null
will throw an exception.public 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 final java.lang.String encodeToString(byte[] sArr, boolean lineSep)
String
representation in 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 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 char[] getAlphabet()