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 class
Base64.InputStream
ABase64.InputStream
will read data from anotherInputStream
, given in the constructor, and encode/decode to/from Base64 notation on the fly.static class
Base64.OutputStream
ABase64.OutputStream
will 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 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. -
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 Object
decodeToObject(String encodedObject)
Attempts to decode Base64 data and deserialize a Java Object within.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 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.
-
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
-