Class Base64
java.lang.Object
org.graffiti.plugins.ios.importers.graphml.parser.Base64
public class Base64 extends Object
Encodes and decodes to and from Base64 notation.
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.
- Version:
- 2.0
- Author:
- Robert Harder
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBase64.InputStreamABase64.InputStreamwill read data from anotherInputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly.static classBase64.OutputStreamABase64.OutputStreamwill write data to anotherOutputStream, given in the constructor, and encode/decode to/from Base64 notation on the fly. -
Field Summary
Fields Modifier and Type Field Description static intDECODESpecify decoding.static intDONT_BREAK_LINESDon't break lines when encoding (violates strict Base64 specification)static intENCODESpecify encoding.static intGZIPSpecify that data should be gzip-compressed.static intNO_OPTIONSNo options specified. -
Method Summary
Modifier and Type Method Description static byte[]decode(byte[] source, int off, int len)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 ObjectdecodeToObject(String encodedObject)Attempts to decode Base64 data and deserialize a Java Object within.static StringencodeBytes(byte[] source)Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int options)Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int off, int len)Encodes a byte array into Base64 notation.static StringencodeBytes(byte[] source, int off, int len, int options)Encodes a byte array into Base64 notation.static StringencodeObject(Serializable serializableObject)Serializes an object and returns the Base64-encoded version of that serialized object.static StringencodeObject(Serializable serializableObject, int options)Serializes an object and returns the Base64-encoded version of that serialized object.
-
Field Details
-
NO_OPTIONS
public static final int NO_OPTIONSNo options specified. Value is zero.- See Also:
- Constant Field Values
-
ENCODE
public static final int ENCODESpecify encoding.- See Also:
- Constant Field Values
-
DECODE
public static final int DECODESpecify decoding.- See Also:
- Constant Field Values
-
GZIP
public static final int GZIPSpecify that data should be gzip-compressed.- See Also:
- Constant Field Values
-
DONT_BREAK_LINES
public static final int DONT_BREAK_LINESDon't break lines when encoding (violates strict Base64 specification)- See Also:
- Constant Field Values
-
-
Method Details
-
decode
public static byte[] decode(byte[] source, int off, int len)Very low-level access to decoding ASCII characters in the form of a byte array. Does not support automatically gunzipping or any other "fancy" features.- Parameters:
source- The Base64 encoded dataoff- The offset of where to begin decodinglen- The length of characters to decode- Returns:
- decoded data
- Since:
- 1.3
-
decode
Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.- Parameters:
s- the string to decode- Returns:
- the decoded data
- Since:
- 1.4
-
decodeToObject
Attempts to decode Base64 data and deserialize a Java Object within. Returns null if there was an error.- Parameters:
encodedObject- The Base64 data to decode- Returns:
- The decoded and deserialized object
- Since:
- 1.5
-
encodeBytes
Encodes a byte array into Base64 notation. Does not GZip-compress data.- Parameters:
source- The data to convert- Returns:
- DOCUMENT ME!
- Since:
- 1.4
-
encodeBytes
Encodes a byte array into Base64 notation.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeBytes( myData, Base64.GZIP )orExample:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
source- The data to convertoptions- Specified options- Returns:
- DOCUMENT ME!
- Since:
- 2.0
- See Also:
GZIP,DONT_BREAK_LINES
-
encodeBytes
Encodes a byte array into Base64 notation. Does not GZip-compress data.- Parameters:
source- The data to convertoff- Offset in array where conversion should beginlen- Length of data to convert- Returns:
- DOCUMENT ME!
- Since:
- 1.4
-
encodeBytes
Encodes a byte array into Base64 notation.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeBytes( myData, Base64.GZIP )orExample:
encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
source- The data to convertoff- Offset in array where conversion should beginlen- Length of data to convertoptions- Specified options- Returns:
- DOCUMENT ME!
- Since:
- 2.0
- See Also:
GZIP,DONT_BREAK_LINES
-
encodeObject
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there is another error, the method will return null. The object is not GZip-compressed before being encoded.- Parameters:
serializableObject- The object to encode- Returns:
- The Base64-encoded object
- Since:
- 1.4
-
encodeObject
Serializes an object and returns the Base64-encoded version of that serialized object. If the object cannot be serialized or there is another error, the method will return null.Valid options:
GZIP: gzip-compresses object before encoding it. DONT_BREAK_LINES: don't break lines at 76 characters Note: Technically, this makes your encoding non-compliant.Example:
encodeObject( myObj, Base64.GZIP )orExample:
encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )- Parameters:
serializableObject- The object to encodeoptions- DOCUMENT ME!- Returns:
- The Base64-encoded object
- Since:
- 2.0
- See Also:
GZIP,DONT_BREAK_LINES
-