Package com.unboundid.util
Class Base32
- java.lang.Object
-
- com.unboundid.util.Base32
-
@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class Base32 extends java.lang.Object
This class provides methods for encoding and decoding data in base32 as defined in RFC 4648. It provides a somewhat compact way of representing binary data using only printable characters (a subset of ASCII letters and numeric digits selected to avoid ambiguity, like confusion between the number 1 and the uppercase letter I, and between the number 0 and the uppercase letter O). It uses a five-bit encoding mechanism in which every five bytes of raw data is converted into eight bytes of base32-encoded data.
Example
The following examples demonstrate the process for base32-encoding raw data, and for decoding a string containing base32-encoded data back to the raw data used to create it:// Base32-encode some raw data: String base32String = Base32.encode(rawDataBytes); // Decode a base32 string back to raw data: byte[] decodedRawDataBytes; try { decodedRawDataBytes = Base32.decode(base32String); } catch (ParseException pe) { // The string did not represent a valid base32 encoding. decodedRawDataBytes = null; }
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static byte[]
decode(java.lang.String data)
Decodes the contents of the provided base32-encoded string.static java.lang.String
decodeToString(java.lang.String data)
Decodes the contents of the provided base32-encoded string to a string containing the raw data using the UTF-8 encoding.static java.lang.String
encode(byte[] data)
Encodes the provided data in base32 format.static void
encode(byte[] data, int off, int length, ByteStringBuffer buffer)
Appends a base32-encoded representation of the provided data to the given buffer.static void
encode(byte[] data, int off, int length, java.lang.StringBuilder buffer)
Appends a base32-encoded representation of the provided data to the given buffer.static void
encode(byte[] data, ByteStringBuffer buffer)
Appends a base32-encoded representation of the provided data to the given buffer.static void
encode(byte[] data, java.lang.StringBuilder buffer)
Appends a base32-encoded representation of the provided data to the given buffer.static java.lang.String
encode(java.lang.String data)
Encodes the UTF-8 representation of the provided string in base32 format.static void
encode(java.lang.String data, ByteStringBuffer buffer)
Appends a base32-encoded version of the contents of the provided buffer (using a UTF-8 representation) to the given buffer.static void
encode(java.lang.String data, java.lang.StringBuilder buffer)
Appends a base32-encoded version of the contents of the provided buffer (using a UTF-8 representation) to the given buffer.
-
-
-
Method Detail
-
encode
@NotNull public static java.lang.String encode(@NotNull java.lang.String data)
Encodes the UTF-8 representation of the provided string in base32 format.- Parameters:
data
- The raw data to be encoded. It must not benull
.- Returns:
- The base32-encoded representation of the provided data.
-
encode
@NotNull public static java.lang.String encode(@NotNull byte[] data)
Encodes the provided data in base32 format.- Parameters:
data
- The raw data to be encoded. It must not benull
.- Returns:
- The base32-encoded representation of the provided data.
-
encode
public static void encode(@NotNull java.lang.String data, @NotNull java.lang.StringBuilder buffer)
Appends a base32-encoded version of the contents of the provided buffer (using a UTF-8 representation) to the given buffer.- Parameters:
data
- The raw data to be encoded. It must not benull
.buffer
- The buffer to which the base32-encoded data is to be written.
-
encode
public static void encode(@NotNull java.lang.String data, @NotNull ByteStringBuffer buffer)
Appends a base32-encoded version of the contents of the provided buffer (using a UTF-8 representation) to the given buffer.- Parameters:
data
- The raw data to be encoded. It must not benull
.buffer
- The buffer to which the base32-encoded data is to be written.
-
encode
public static void encode(@NotNull byte[] data, @NotNull java.lang.StringBuilder buffer)
Appends a base32-encoded representation of the provided data to the given buffer.- Parameters:
data
- The raw data to be encoded. It must not benull
.buffer
- The buffer to which the base32-encoded data is to be written.
-
encode
public static void encode(@NotNull byte[] data, int off, int length, @NotNull java.lang.StringBuilder buffer)
Appends a base32-encoded representation of the provided data to the given buffer.- Parameters:
data
- The array containing the raw data to be encoded. It must not benull
.off
- The offset in the array at which the data to encode begins.length
- The number of bytes to be encoded.buffer
- The buffer to which the base32-encoded data is to be written.
-
encode
public static void encode(@NotNull byte[] data, @NotNull ByteStringBuffer buffer)
Appends a base32-encoded representation of the provided data to the given buffer.- Parameters:
data
- The raw data to be encoded. It must not benull
.buffer
- The buffer to which the base32-encoded data is to be written.
-
encode
public static void encode(@NotNull byte[] data, int off, int length, @NotNull ByteStringBuffer buffer)
Appends a base32-encoded representation of the provided data to the given buffer.- Parameters:
data
- The raw data to be encoded. It must not benull
.off
- The offset in the array at which the data to encode begins.length
- The number of bytes to be encoded.buffer
- The buffer to which the base32-encoded data is to be written.
-
decode
@NotNull public static byte[] decode(@NotNull java.lang.String data) throws java.text.ParseException
Decodes the contents of the provided base32-encoded string.- Parameters:
data
- The base32-encoded string to decode. It must not benull
.- Returns:
- A byte array containing the decoded data.
- Throws:
java.text.ParseException
- If the contents of the provided string cannot be parsed as base32-encoded data.
-
decodeToString
@NotNull public static java.lang.String decodeToString(@NotNull java.lang.String data) throws java.text.ParseException
Decodes the contents of the provided base32-encoded string to a string containing the raw data using the UTF-8 encoding.- Parameters:
data
- The base32-encoded string to decode. It must not benull
.- Returns:
- A string containing the decoded data.
- Throws:
java.text.ParseException
- If the contents of the provided string cannot be parsed as base32-encoded data using the UTF-8 encoding.
-
-