com.marklogic.io

## Class Base64

- java.lang.Object
- - com.marklogic.io.Base64

-     public class Base64
      extends java.lang.Object

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `Base64.InputStream` A `Base64.InputStream` will read data from another `java.io.InputStream`, given in the constructor, and encode/decode to/from Base64 notation on the fly.
    `static class` | `Base64.OutputStream` A `Base64.OutputStream` will write data to another `java.io.OutputStream`, given in the constructor, and encode/decode to/from Base64 notation on the fly.

  - ### Field Summary

    Fields
    Modifier and Type | Field and 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

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and 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(java.lang.String s)` Decodes data from Base64 notation, automatically detecting gzip-compressed data and decompressing it.
    `static byte[]` | `decodeFromFile(java.lang.String filename)` Convenience method for reading a base64-encoded file and decoding it.
    `static boolean` | `decodeToFile(java.lang.String dataToDecode, java.lang.String filename)` Convenience method for decoding data to a file.
    `static java.lang.Object` | `decodeToObject(java.lang.String encodedObject)` Attempts to decode Base64 data and deserialize a Java Object within.
    `static java.lang.String` | `encodeBytes(byte[] source)` Encodes a byte array into Base64 notation.
    `static java.lang.String` | `encodeBytes(byte[] source, int options)` Encodes a byte array into Base64 notation.
    `static java.lang.String` | `encodeBytes(byte[] source, int off, int len)` Encodes a byte array into Base64 notation.
    `static java.lang.String` | `encodeBytes(byte[] source, int off, int len, int options)` Encodes a byte array into Base64 notation.
    `static java.lang.String` | `encodeFromFile(java.lang.String filename)` Convenience method for reading a binary file and base64-encoding it.
    `static java.lang.String` | `encodeObject(java.io.Serializable serializableObject)` Serializes an object and returns the Base64-encoded version of that serialized object.
    `static java.lang.String` | `encodeObject(java.io.Serializable serializableObject, int options)` Serializes an object and returns the Base64-encoded version of that serialized object.
    `static boolean` | `encodeToFile(byte[] dataToEncode, java.lang.String filename)` Convenience method for encoding data to a file.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NO_OPTIONS

          public static final int NO_OPTIONS

      No options specified. Value is zero.
      See Also:
        Constant Field Values

    - #### ENCODE

          public static final int ENCODE

      Specify encoding.
      See Also:
        Constant Field Values

    - #### DECODE

          public static final int DECODE

      Specify decoding.
      See Also:
        Constant Field Values

    - #### GZIP

          public static final int GZIP

      Specify that data should be gzip-compressed.
      See Also:
        Constant Field Values

    - #### DONT_BREAK_LINES

          public static final int DONT_BREAK_LINES

      Don't break lines when encoding (violates strict Base64 specification)
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### encodeObject

          public static java.lang.String encodeObject(java.io.Serializable serializableObject)

      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

          public static java.lang.String encodeObject(java.io.Serializable serializableObject,
                                                      int options)

      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
               <i>Note: Technically, this makes your encoding non-compliant.</i>

      Example: `encodeObject( myObj, Base64.GZIP )` or

      Example: `encodeObject( myObj, Base64.GZIP | Base64.DONT_BREAK_LINES )`

      Parameters:
        `serializableObject` - The object to encode
        `options` - Specified options
      Returns:
        The Base64-encoded object
      Since:
        2.0
      See Also:
        `GZIP`, `DONT_BREAK_LINES`

    - #### encodeBytes

          public static java.lang.String encodeBytes(byte[] source)

      Encodes a byte array into Base64 notation. Does not GZip-compress data.
      Parameters:
        `source` - The data to convert
      Since:
        1.4

    - #### encodeBytes

          public static java.lang.String encodeBytes(byte[] source,
                                                     int options)

      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
               <i>Note: Technically, this makes your encoding non-compliant.</i>

      Example: `encodeBytes( myData, Base64.GZIP )` or

      Example: `encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )`

      Parameters:
        `source` - The data to convert
        `options` - Specified options
      Since:
        2.0
      See Also:
        `GZIP`, `DONT_BREAK_LINES`

    - #### encodeBytes

          public static java.lang.String encodeBytes(byte[] source,
                                                     int off,
                                                     int len)

      Encodes a byte array into Base64 notation. Does not GZip-compress data.
      Parameters:
        `source` - The data to convert
        `off` - Offset in array where conversion should begin
        `len` - Length of data to convert
      Since:
        1.4

    - #### encodeBytes

          public static java.lang.String encodeBytes(byte[] source,
                                                     int off,
                                                     int len,
                                                     int options)

      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
               <i>Note: Technically, this makes your encoding non-compliant.</i>

      Example: `encodeBytes( myData, Base64.GZIP )` or

      Example: `encodeBytes( myData, Base64.GZIP | Base64.DONT_BREAK_LINES )`

      Parameters:
        `source` - The data to convert
        `off` - Offset in array where conversion should begin
        `len` - Length of data to convert
        `options` - Specified options
      Since:
        2.0
      See Also:
        `GZIP`, `DONT_BREAK_LINES`

    - #### 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 data
        `off` - The offset of where to begin decoding
        `len` - The length of characters to decode
      Returns:
        decoded data
      Since:
        1.3

    - #### decode

          public static byte[] decode(java.lang.String s)

      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

          public static java.lang.Object decodeToObject(java.lang.String encodedObject)

      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

    - #### encodeToFile

          public static boolean encodeToFile(byte[] dataToEncode,
                                             java.lang.String filename)

      Convenience method for encoding data to a file.
      Parameters:
        `dataToEncode` - byte array of data to encode in base64 form
        `filename` - Filename for saving encoded data
      Returns:
        `true` if successful, `false` otherwise
      Since:
        2.1

    - #### decodeToFile

          public static boolean decodeToFile(java.lang.String dataToDecode,
                                             java.lang.String filename)

      Convenience method for decoding data to a file.
      Parameters:
        `dataToDecode` - Base64-encoded data as a string
        `filename` - Filename for saving decoded data
      Returns:
        `true` if successful, `false` otherwise
      Since:
        2.1

    - #### decodeFromFile

          public static byte[] decodeFromFile(java.lang.String filename)

      Convenience method for reading a base64-encoded file and decoding it.
      Parameters:
        `filename` - Filename for reading encoded data
      Returns:
        decoded byte array or null if unsuccessful
      Since:
        2.1

    - #### encodeFromFile

          public static java.lang.String encodeFromFile(java.lang.String filename)

      Convenience method for reading a binary file and base64-encoding it.
      Parameters:
        `filename` - Filename for reading binary data
      Returns:
        base64-encoded string or null if unsuccessful
      Since:
        2.1

Copyright © 2025 MarkLogic Corporation. All Rights Reserved.

Complete online documentation for MarkLogic Server, XQuery and related components may be found at developer.marklogic.com