Class Base32
- All Implemented Interfaces:
BinaryDecoder
,BinaryEncoder
,Decoder
,Encoder
The class can be parameterized in the following manner with various constructors:
- Whether to use the "base32hex" variant instead of the default "base32"
- Line length: Default 76. Line length that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.
- Line separator: Default is CRLF ("\r\n")
This class operates directly on byte streams, and not character streams.
This class is thread-safe.
- Since:
- 1.5
- See Also:
-
Field Summary
Fields inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.codec.binary.BaseNCodec
DECODING_POLICY_DEFAULT, lineLength, MASK_8BITS, MIME_CHUNK_SIZE, pad, PAD, PAD_DEFAULT, PEM_CHUNK_SIZE
-
Constructor Summary
ConstructorDescriptionBase32()
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 padding) 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 padding) Creates a Base32 / Base32 Hex codec used for decoding and encoding.Base32
(int lineLength, byte[] lineSeparator, boolean useHex, byte padding, CodecPolicy decodingPolicy) Creates a Base32 / Base32 Hex codec used for decoding and encoding. -
Method Summary
Modifier and TypeMethodDescriptionboolean
isInAlphabet
(byte octet) Returns whether or not theoctet
is in the Base32 alphabet.Methods inherited from class edu.internet2.middleware.grouperClientExt.org.apache.commons.codec.binary.BaseNCodec
containsAlphabetOrPad, decode, decode, decode, encode, encode, encode, encodeAsString, encodeToString, ensureBufferSize, getChunkSeparator, getCodecPolicy, getDefaultBufferSize, getEncodedLength, isInAlphabet, isInAlphabet, isStrictDecoding, isWhiteSpace
-
Constructor Details
-
Base32
public Base32()Creates a Base32 codec used for decoding and encoding.When encoding the line length is 0 (no chunking).
-
Base32
public Base32(boolean useHex) Creates a Base32 codec used for decoding and encoding.When encoding the line length is 0 (no chunking).
- Parameters:
useHex
- iftrue
then use Base32 Hex alphabet
-
Base32
public Base32(boolean useHex, byte padding) Creates a Base32 codec used for decoding and encoding.When encoding the line length is 0 (no chunking).
- Parameters:
useHex
- iftrue
then use Base32 Hex alphabetpadding
- byte used as padding byte.
-
Base32
public Base32(byte pad) Creates a Base32 codec used for decoding and encoding.When encoding the line length is 0 (no chunking).
- Parameters:
pad
- byte used as padding byte.
-
Base32
public Base32(int lineLength) Creates a Base32 codec used for decoding and encoding.When encoding the line length is given in the constructor, the line separator is CRLF.
- Parameters:
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.
-
Base32
public Base32(int lineLength, byte[] lineSeparator) Creates a Base32 codec used for decoding and encoding.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.
- Parameters:
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.- Throws:
IllegalArgumentException
- Thrown when thelineSeparator
contains Base32 characters.
-
Base32
public Base32(int lineLength, byte[] lineSeparator, boolean useHex) Creates a Base32 / Base32 Hex codec used for decoding and encoding.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.
- Parameters:
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
- iftrue
, then use Base32 Hex alphabet, otherwise use Base32 alphabet- Throws:
IllegalArgumentException
- Thrown when thelineSeparator
contains Base32 characters. Or the lineLength > 0 and lineSeparator is null.
-
Base32
public Base32(int lineLength, byte[] lineSeparator, boolean useHex, byte padding) Creates a Base32 / Base32 Hex codec used for decoding and encoding.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.
- Parameters:
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
- iftrue
, then use Base32 Hex alphabet, otherwise use Base32 alphabetpadding
- byte used as padding byte.- Throws:
IllegalArgumentException
- Thrown when thelineSeparator
contains Base32 characters. Or the lineLength > 0 and lineSeparator is null.
-
Base32
public Base32(int lineLength, byte[] lineSeparator, boolean useHex, byte padding, CodecPolicy decodingPolicy) Creates a Base32 / Base32 Hex codec used for decoding and encoding.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.
- Parameters:
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
- iftrue
, then use Base32 Hex alphabet, otherwise use Base32 alphabetpadding
- byte used as padding byte.decodingPolicy
- The decoding policy.- Throws:
IllegalArgumentException
- Thrown when thelineSeparator
contains Base32 characters. Or the lineLength > 0 and lineSeparator is null.- Since:
- 1.15
-
-
Method Details
-
isInAlphabet
public boolean isInAlphabet(byte octet) Returns whether or not theoctet
is in the Base32 alphabet.- Specified by:
isInAlphabet
in classBaseNCodec
- Parameters:
octet
- The value to test- Returns:
true
if the value is defined in the the Base32 alphabetfalse
otherwise.
-