public class Base32 extends BaseNCodec
The class can be parameterized in the following manner with various constructors:
This class operates directly on byte streams, and not character streams.
This class is thread-safe.
lineLength, MASK_8BITS, MIME_CHUNK_SIZE, pad, PAD_DEFAULT, PEM_CHUNK_SIZE
Constructor and Description |
---|
Base32()
Creates a Base32 codec used for decoding and encoding.
|
Base32(boolean useHex)
Creates a Base32 codec used for decoding and encoding.
|
Base32(boolean useHex,
byte pad)
Creates a Base32 codec used for decoding and encoding.
|
Base32(byte pad)
Creates a Base32 codec used for decoding and encoding.
|
Base32(int lineLength)
Creates a Base32 codec used for decoding and encoding.
|
Base32(int lineLength,
byte[] lineSeparator)
Creates a Base32 codec used for decoding and encoding.
|
Base32(int lineLength,
byte[] lineSeparator,
boolean useHex)
Creates a Base32 / Base32 Hex codec used for decoding and encoding.
|
Base32(int lineLength,
byte[] lineSeparator,
boolean useHex,
byte pad)
Creates a Base32 / Base32 Hex codec used for decoding and encoding.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isInAlphabet(byte octet)
Returns whether or not the
octet is in the Base32 alphabet. |
containsAlphabetOrPad, decode, decode, decode, encode, encode, encode, encodeAsString, encodeToString, ensureBufferSize, getDefaultBufferSize, getEncodedLength, isInAlphabet, isInAlphabet, isWhiteSpace
public Base32()
When encoding the line length is 0 (no chunking).
public Base32(boolean useHex)
When encoding the line length is 0 (no chunking).
useHex
- if true
then use Base32 Hex alphabetpublic Base32(boolean useHex, byte pad)
When encoding the line length is 0 (no chunking).
useHex
- if true
then use Base32 Hex alphabetpad
- byte used as padding byte.public Base32(byte pad)
When encoding the line length is 0 (no chunking).
pad
- byte used as padding byte.public Base32(int lineLength)
When encoding the line length is given in the constructor, the line separator is CRLF.
lineLength
- Each line of encoded data will be at most of the given length (rounded down to nearest multiple of
8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when
decoding.public Base32(int lineLength, byte[] lineSeparator)
When encoding the line length and line separator are given in the constructor.
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.
lineLength
- Each line of encoded data will be at most of the given length (rounded down to nearest multiple of
8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when
decoding.lineSeparator
- Each line of encoded data will end with this sequence of bytes.IllegalArgumentException
- The provided lineSeparator included some Base32 characters. That's not going to work!public Base32(int lineLength, byte[] lineSeparator, boolean useHex)
When encoding the line length and line separator are given in the constructor.
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.
lineLength
- Each line of encoded data will be at most of the given length (rounded down to nearest multiple of
8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when
decoding.lineSeparator
- Each line of encoded data will end with this sequence of bytes.useHex
- if true
, then use Base32 Hex alphabet, otherwise use Base32 alphabetIllegalArgumentException
- The provided lineSeparator included some Base32 characters. That's not going to work! Or the
lineLength > 0 and lineSeparator is null.public Base32(int lineLength, byte[] lineSeparator, boolean useHex, byte pad)
When encoding the line length and line separator are given in the constructor.
Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.
lineLength
- Each line of encoded data will be at most of the given length (rounded down to nearest multiple of
8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when
decoding.lineSeparator
- Each line of encoded data will end with this sequence of bytes.useHex
- if true
, then use Base32 Hex alphabet, otherwise use Base32 alphabetpad
- byte used as padding byte.IllegalArgumentException
- The provided lineSeparator included some Base32 characters. That's not going to work! Or the
lineLength > 0 and lineSeparator is null.public boolean isInAlphabet(byte octet)
octet
is in the Base32 alphabet.isInAlphabet
in class BaseNCodec
octet
- The value to testtrue
if the value is defined in the the Base32 alphabet false
otherwise.