public final class Base64
extends java.lang.Object
Change Log:
I am placing this code in the Public Domain. Do with it as you will. This software comes with no guarantees or warranties but with plenty of well-wishing instead! Please visit http://iharder.net/xmlizable periodically to check for updates or to contribute improvements.
Modifier and Type | Field and Description |
---|---|
private static byte[] |
ALPHABET
The 64 valid Base64 values.
|
static java.lang.String |
BEGIN_TAG |
static boolean |
COMPRESS
Specify that data should be compressed (value is true).
|
private static byte[] |
DECODABET
Translates a Base64 value to either its 6-bit reconstruction value
or a negative number indicating some other meaning.
|
static boolean |
DECODE
Specify decoding (value is false).
|
static boolean |
DONT_COMPRESS
Specify that data should not be compressed (value is false).
|
static boolean |
ENCODE
Specify encoding (value is true).
|
static java.lang.String |
END_TAG |
private static byte |
EQUALS_SIGN
The equals sign (=) as a byte.
|
private static byte |
EQUALS_SIGN_ENC |
private static int |
MAX_LINE_LENGTH
Maximum line length (76) of Base64 output.
|
private static byte |
NEW_LINE
The new line character (\n) as a byte.
|
static java.lang.String |
TAG_END_SEQUENCE |
private static byte |
WHITE_SPACE_ENC |
Modifier | Constructor and Description |
---|---|
private |
Base64()
Defeats instantiation.
|
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
createBeginTag(java.lang.String strBase64TagName)
Creates the begin tag for a base 64 encoded string.
|
static java.lang.String |
createEndTag(java.lang.String strBase64TagName)
Creates the end tag for a base 64 encoded string.
|
static byte[] |
decode(byte[] source,
int off,
int len)
Decodes Base64 content in byte array format and returns
the decoded byte array.
|
static byte[] |
decode(java.lang.String s)
Decodes data from Base64 notation.
|
private static int |
decode4to3(byte[] source,
int srcOffset,
byte[] destination,
int destOffset)
Decodes four bytes from array source
and writes the resulting bytes (up to three of them)
to destination.
|
static java.lang.String |
decodeToString(java.lang.String s)
Decodes data from Base64 notation and
returns it as a string.
|
static java.lang.String |
encode(byte[] source,
boolean breakLines)
Encodes a byte array into Base64 notation.
|
static java.lang.String |
encode(byte[] source,
int off,
int len)
Encodes a byte array into Base64 notation.
|
static java.lang.String |
encode(byte[] source,
int off,
int len,
boolean breakLines)
Encodes a byte array into Base64 notation.
|
private static byte[] |
encode3to4(byte[] source,
int srcOffset,
int numSigBytes,
byte[] destination,
int destOffset)
Encodes up to three bytes of the array source
and writes the resulting four Base64 bytes to destination.
|
static java.lang.String |
encodeBytes(byte[] source)
Encodes a byte array into Base64 notation.
|
static java.lang.String |
encodeString(java.lang.String s)
Encodes a string in Base64 notation with line breaks
after every 75 Base64 characters.
|
static java.lang.String |
encodeString(java.lang.String s,
boolean breakLines)
Encodes a string in Base64 notation with line breaks
after every 75 Base64 characters.
|
public static final java.lang.String BEGIN_TAG
public static final java.lang.String END_TAG
public static final java.lang.String TAG_END_SEQUENCE
public static final boolean ENCODE
public static final boolean DECODE
public static final boolean COMPRESS
public static final boolean DONT_COMPRESS
private static final int MAX_LINE_LENGTH
private static final byte EQUALS_SIGN
private static final byte NEW_LINE
private static final byte[] ALPHABET
private static final byte[] DECODABET
private static final byte WHITE_SPACE_ENC
private static final byte EQUALS_SIGN_ENC
private static byte[] encode3to4(byte[] source, int srcOffset, int numSigBytes, byte[] destination, int destOffset)
source
- the array to convertsrcOffset
- the index where conversion beginsnumSigBytes
- the number of significant bytes in your arraydestination
- the array to hold the conversiondestOffset
- the index where output will be putpublic static java.lang.String createBeginTag(java.lang.String strBase64TagName)
strBase64TagName
- the base 64 tag namepublic static java.lang.String createEndTag(java.lang.String strBase64TagName)
strBase64TagName
- the base 64 tag namepublic static java.lang.String encodeBytes(byte[] source)
encodeBytes( source, 0, source.length )
source
- The data to convertpublic static java.lang.String encode(byte[] source, boolean breakLines)
encodeBytes( source, 0, source.length )
source
- The data to convertbreakLines
- Break lines at 80 characters or less.public static java.lang.String encode(byte[] source, int off, int len)
source
- The data to convertoff
- Offset in array where conversion should beginlen
- Length of data to convertpublic static java.lang.String encode(byte[] source, int off, int len, boolean breakLines)
source
- The data to convertoff
- Offset in array where conversion should beginlen
- Length of data to convertbreakLines
- Break lines at 80 characters or less.public static java.lang.String encodeString(java.lang.String s)
s
- the string to encodepublic static java.lang.String encodeString(java.lang.String s, boolean breakLines)
s
- the string to encodebreakLines
- Break lines at 80 characters or less.private static int decode4to3(byte[] source, int srcOffset, byte[] destination, int destOffset)
source
- the array to convertsrcOffset
- the index where conversion beginsdestination
- the array to hold the conversiondestOffset
- the index where output will be putpublic static byte[] decode(java.lang.String s)
s
- the string to decodepublic static java.lang.String decodeToString(java.lang.String s)
new String( decode( s ) )
s
- the strind to decodepublic static byte[] decode(byte[] source, int off, int len)
source
- The Base64 encoded dataoff
- The offset of where to begin decodinglen
- The length of characters to decodeCopyright © 2023. All rights reserved.