raw ByteBuffer,encoded ByteBuffer.raw ByteBuffer,encoded CharBuffer.
Example options:
GZIP: gzip-compresses object before encoding it.
DO_BREAK_LINES: break lines at 76 characters
Note: Technically, this makes your encoding non-compliant.
Example: encodeBytes( myData, Base64.GZIP ) or
Example: encodeBytes( myData, Base64.GZIP | Base64.DO_BREAK_LINES )
As of v 2.3, if there is an error with the GZIP stream,
the method will throw an IOException. This is new to v2.3!
In earlier versions, it just returned a null value, but
in retrospect that's a pretty poor way to handle it.
As of v 2.3, if there is an error,
the method will throw an IOException. This is new to v2.3!
In earlier versions, it just returned a null value, but
in retrospect that's a pretty poor way to handle it.
Example options:
GZIP: gzip-compresses object before encoding it.
DO_BREAK_LINES: break lines at 76 characters
Note: Technically, this makes your encoding non-compliant.
Example: encodeBytes( myData, Base64.GZIP ) or
Example: encodeBytes( myData, Base64.GZIP | Base64.DO_BREAK_LINES )
As of v 2.3, if there is an error with the GZIP stream,
the method will throw an IOException. This is new to v2.3!
In earlier versions, it just returned a null value, but
in retrospect that's a pretty poor way to handle it.
Encodes and decodes to and from Base64 notation.
Homepage: http://iharder.net/base64.
Example:
String encoded = Base64.encode( myByteArray );byte[] myByteArray = Base64.decode( encoded );The options parameter, which appears in a few places, is used to pass
several pieces of information to the encoder. In the "higher level" methods such as
encodeBytes( bytes, options ) the options parameter can be used to indicate such
things as first gzipping the bytes before encoding them, not inserting linefeeds,
and encoding using the URL-safe and Ordered dialects.
Note, according to RFC3548,
Section 2.1, implementations should not add line feeds unless explicitly told
to do so. I've got Base64 set to this behavior now, although earlier versions
broke lines by default.
The constants defined in Base64 can be OR-ed together to combine options, so you
might make a call like this:
String encoded = Base64.encodeBytes( mybytes, Base64.GZIP | Base64.DO_BREAK_LINES );to compress the data before encoding it and then making the output have newline characters.
Also...
String encoded = Base64.encodeBytes( crazyString.getBytes() );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
@author rob@iharder.net
@version 2.3.7