|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.hadoop.hbase.util.Base64
@InterfaceAudience.Public @InterfaceStability.Stable public class Base64
Encodes and decodes to and from Base64 notation.
Homepage: http://iharder.net/base64.
Change Log:
Special thanks to Jim Kellerman at http://www.powerset.com/ for contributing the new Base64 dialects.
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/base64 periodically to check for updates or to contribute improvements.
author: Robert Harder, rob@iharder.net
version: 2.2.1
| Nested Class Summary | |
|---|---|
static class |
Base64.Base64InputStream
A Base64.Base64InputStream will read data from another
InputStream, given in the constructor, and
encode/decode to/from Base64 notation on the fly. |
static class |
Base64.Base64OutputStream
A Base64.Base64OutputStream will write data to another
OutputStream, given in the constructor, and
encode/decode to/from Base64 notation on the fly. |
| Field Summary | |
|---|---|
static int |
DECODE
Specify decoding. |
static int |
DONT_BREAK_LINES
Don't break lines when encoding (violates strict Base64 specification) |
static int |
ENCODE
Specify encoding. |
static int |
GZIP
Specify that data should be gzip-compressed. |
static int |
NO_OPTIONS
No options specified. |
static int |
ORDERED
Encode using the special "ordered" dialect of Base64 described here: http://www.faqs.org/qa/rfcc-1940.html. |
static int |
URL_SAFE
Encode using Base64-like encoding that is URL and Filename safe as described in Section 4 of RFC3548: http://www.faqs.org/rfcs/rfc3548.html. |
| Method Summary | |
|---|---|
static byte[] |
decode(byte[] source,
int off,
int len,
int options)
Very low-level access to decoding ASCII characters in the form of a byte array. |
static byte[] |
decode(String s)
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it. |
static byte[] |
decode(String s,
int options)
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it. |
protected static int |
decode4to3(byte[] source,
int srcOffset,
byte[] destination,
int destOffset,
int options)
Decodes four bytes from array source and writes the resulting bytes (up to three of them) to destination. |
static void |
decodeFileToFile(String infile,
String outfile)
Reads infile and decodes it to outfile. |
static byte[] |
decodeFromFile(String filename)
Convenience method for reading a base64-encoded file and decoding it. |
static boolean |
decodeToFile(String dataToDecode,
String filename)
Convenience method for decoding data to a file. |
static Object |
decodeToObject(String encodedObject)
Attempts to decode Base64 data and deserialize a Java Object within. |
protected static byte[] |
encode3to4(byte[] b4,
byte[] threeBytes,
int numSigBytes,
int options)
Encodes up to the first three bytes of array threeBytes and returns a four-byte array in Base64 notation. |
protected static byte[] |
encode3to4(byte[] source,
int srcOffset,
int numSigBytes,
byte[] destination,
int destOffset,
int options)
Encodes up to three bytes of the array source and writes the resulting four Base64 bytes to destination. |
static String |
encodeBytes(byte[] source)
Encodes a byte array into Base64 notation. |
static String |
encodeBytes(byte[] source,
int options)
Encodes a byte array into Base64 notation. |
static String |
encodeBytes(byte[] source,
int off,
int len)
Encodes a byte array into Base64 notation. |
static String |
encodeBytes(byte[] source,
int off,
int len,
int options)
Encodes a byte array into Base64 notation. |
static void |
encodeFileToFile(String infile,
String outfile)
Reads infile and encodes it to outfile. |
static String |
encodeFromFile(String filename)
Convenience method for reading a binary file and base64-encoding it. |
static String |
encodeObject(Serializable serializableObject)
Serializes an object and returns the Base64-encoded version of that serialized object. |
static String |
encodeObject(Serializable serializableObject,
int options)
Serializes an object and returns the Base64-encoded version of that serialized object. |
static boolean |
encodeToFile(byte[] dataToEncode,
String filename)
Convenience method for encoding data to a file. |
protected static byte[] |
getAlphabet(int options)
Returns one of the _SOMETHING_ALPHABET byte arrays depending on the options specified. |
protected static byte[] |
getDecodabet(int options)
Returns one of the _SOMETHING_DECODABET byte arrays depending on the options specified. |
static void |
main(String[] args)
Main program. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int NO_OPTIONS
public static final int ENCODE
public static final int DECODE
public static final int GZIP
public static final int DONT_BREAK_LINES
public static final int URL_SAFE
public static final int ORDERED
| Method Detail |
|---|
protected static byte[] getAlphabet(int options)
options - URL_SAFE or ORDERED
protected static byte[] getDecodabet(int options)
options - URL_SAFE or ORDERED
public static void main(String[] args)
args - command arguments
protected static byte[] encode3to4(byte[] b4,
byte[] threeBytes,
int numSigBytes,
int options)
b4 - A reusable byte array to reduce array instantiationthreeBytes - the array to convertnumSigBytes - the number of significant bytes in your arrayoptions - options for get alphabet
protected static byte[] encode3to4(byte[] source,
int srcOffset,
int numSigBytes,
byte[] destination,
int destOffset,
int options)
This is the lowest level of the encoding methods with all possible parameters.
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 putoptions - options for get alphabet
public static String encodeObject(Serializable serializableObject)
serializableObject - The object to encode
public static String encodeObject(Serializable serializableObject,
int options)
Valid options:
Example: encodeObject( myObj, Base64.GZIP ) or
Example:
encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )
serializableObject - The object to encodeoptions - Specified options
GZIP,
DONT_BREAK_LINESpublic static String encodeBytes(byte[] source)
source - The data to convert
public static String encodeBytes(byte[] source,
int options)
Valid options:
Example: encodeBytes( myData, Base64.GZIP ) or
Example:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )
source - The data to convertoptions - Specified options
GZIP,
DONT_BREAK_LINES,
URL_SAFE,
ORDERED
public static String encodeBytes(byte[] source,
int off,
int len)
source - The data to convertoff - Offset in array where conversion should beginlen - Length of data to convert
public static String encodeBytes(byte[] source,
int off,
int len,
int options)
Valid options:
Example: encodeBytes( myData, Base64.GZIP ) or
Example:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )
source - The data to convertoff - Offset in array where conversion should beginlen - Length of data to convertoptions - Specified options
GZIP,
DONT_BREAK_LINES,
URL_SAFE,
ORDERED
protected static int decode4to3(byte[] source,
int srcOffset,
byte[] destination,
int destOffset,
int options)
This is the lowest level of the decoding methods with all possible parameters.
source - the array to convertsrcOffset - the index where conversion beginsdestination - the array to hold the conversiondestOffset - the index where output will be putoptions - options for getDecoabet
URL_SAFE,
ORDERED
public static byte[] decode(byte[] source,
int off,
int len,
int options)
source - The Base64 encoded dataoff - The offset of where to begin decodinglen - The length of characters to decodeoptions - options for getDecodabet
URL_SAFE,
ORDEREDpublic static byte[] decode(String s)
s - the string to decode
public static byte[] decode(String s,
int options)
s - the string to decodeoptions - options for decode
URL_SAFE,
ORDEREDpublic static Object decodeToObject(String encodedObject)
encodedObject - The Base64 data to decode
public static boolean encodeToFile(byte[] dataToEncode,
String filename)
dataToEncode - byte array of data to encode in base64 formfilename - Filename for saving encoded data
public static boolean decodeToFile(String dataToDecode,
String filename)
dataToDecode - Base64-encoded data as a stringfilename - Filename for saving decoded data
public static byte[] decodeFromFile(String filename)
filename - Filename for reading encoded data
public static String encodeFromFile(String filename)
filename - Filename for reading binary data
public static void encodeFileToFile(String infile,
String outfile)
infile - Input fileoutfile - Output file
public static void decodeFileToFile(String infile,
String outfile)
infile - Input fileoutfile - Output file
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||