- java.lang.Object
-
- swim.codec.Base16
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description String
alphabet()
Returns a 16 character string, where the character at indexi
is the encoding of the base-16 digiti
.Writer<byte[],?>
byteArrayWriter()
Returns aWriter
that, when fed an inputbyte[]
array, returns a continuation that writes the base-16 (hexadecimal) encoding of the input byte array.Writer<?,byte[]>
byteArrayWriter(byte[] input)
Returns aWriter
continuation that writes the base-16 (hexadecimal) encoding of theinput
byte array.Writer<ByteBuffer,?>
byteBufferWriter()
Returns aWriter
that, when fed an inputByteBuffer
, returns a continuation that writes the base-16 (hexadecimal) encoding of the input byte buffer.Writer<?,ByteBuffer>
byteBufferWriter(ByteBuffer input)
Returns aWriter
continuation that writes the base-16 (hexadecimal) encoding of theinput
byte buffer.static int
decodeDigit(int c)
Returns the 4-bit quantity represented by the base-16 digitc
.char
encodeDigit(int b)
Returns the Unicode code point of the base-16 digit that encodes the given 4-bit quantity.static boolean
isDigit(int c)
Returnstrue
if the Unicode code pointc
is a valid base-16 digit.static Base16
lowercase()
Returns theBase16
encoding with lowercase alphanumeric digits.static <O> Parser<O>
parse(Input input, Output<O> output)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes tooutput
, returning aParser
continuation that knows how to parse any additional input.static Parser<byte[]>
parseByteArray(Input input)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes to a growable array, returning aParser
continuation that knows how to parse any additional input.static Parser<ByteBuffer>
parseByteBuffer(Input input)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes to a growable buffer, returning aParser
continuation that knows how to parse any additional input.static <O> Parser<O>
parser(Output<O> output)
Returns aParser
that decodes base-16 (hexadecimal) encoded input, and writes the decoded bytes tooutput
.static Base16
uppercase()
Returns theBase16
encoding with uppercase alphanumeric digits.Writer<?,?>
writeByteArray(byte[] input, Output<?> output)
Writes the base-16 (hexadecimal) encoding of theinput
byte array to theoutput
, returning aWriter
continuation that knows how to write any remaining output that couldn't be immediately generated.Writer<?,?>
writeByteBuffer(ByteBuffer input, Output<?> output)
Writes the base-16 (hexadecimal) encoding of theinput
byte buffer to theoutput
, returning aWriter
continuation that knows how to write any remaining output that couldn't be immediately generated.Writer<?,?>
writeInt(int input, Output<?> output)
Writer<?,?>
writeInt(int input, Output<?> output, int width)
Writer<?,?>
writeIntLiteral(int input, Output<?> output)
Writer<?,?>
writeIntLiteral(int input, Output<?> output, int width)
Writer<?,?>
writeLong(long input, Output<?> output)
Writer<?,?>
writeLong(long input, Output<?> output, int width)
Writer<?,?>
writeLongLiteral(long input, Output<?> output)
Writer<?,?>
writeLongLiteral(long input, Output<?> output, int width)
static void
writeQuantum(int c1, int c2, Output<?> output)
Decodes the base-16 digitsc1
andc2
, and writes the 8-bit quantity they represent to the givenoutput
.
-
-
-
Method Detail
-
alphabet
public String alphabet()
Returns a 16 character string, where the character at indexi
is the encoding of the base-16 digiti
.
-
encodeDigit
public char encodeDigit(int b)
Returns the Unicode code point of the base-16 digit that encodes the given 4-bit quantity.
-
byteArrayWriter
public Writer<byte[],?> byteArrayWriter()
Returns aWriter
that, when fed an inputbyte[]
array, returns a continuation that writes the base-16 (hexadecimal) encoding of the input byte array.
-
byteArrayWriter
public Writer<?,byte[]> byteArrayWriter(byte[] input)
Returns aWriter
continuation that writes the base-16 (hexadecimal) encoding of theinput
byte array.
-
byteBufferWriter
public Writer<ByteBuffer,?> byteBufferWriter()
Returns aWriter
that, when fed an inputByteBuffer
, returns a continuation that writes the base-16 (hexadecimal) encoding of the input byte buffer.
-
byteBufferWriter
public Writer<?,ByteBuffer> byteBufferWriter(ByteBuffer input)
Returns aWriter
continuation that writes the base-16 (hexadecimal) encoding of theinput
byte buffer.
-
writeByteArray
public Writer<?,?> writeByteArray(byte[] input, Output<?> output)
Writes the base-16 (hexadecimal) encoding of theinput
byte array to theoutput
, returning aWriter
continuation that knows how to write any remaining output that couldn't be immediately generated.
-
writeByteBuffer
public Writer<?,?> writeByteBuffer(ByteBuffer input, Output<?> output)
Writes the base-16 (hexadecimal) encoding of theinput
byte buffer to theoutput
, returning aWriter
continuation that knows how to write any remaining output that couldn't be immediately generated.
-
lowercase
public static Base16 lowercase()
Returns theBase16
encoding with lowercase alphanumeric digits.
-
uppercase
public static Base16 uppercase()
Returns theBase16
encoding with uppercase alphanumeric digits.
-
isDigit
public static boolean isDigit(int c)
Returnstrue
if the Unicode code pointc
is a valid base-16 digit.
-
decodeDigit
public static int decodeDigit(int c)
Returns the 4-bit quantity represented by the base-16 digitc
.- Throws:
IllegalArgumentException
- ifc
is not a valid base-16 digit.
-
writeQuantum
public static void writeQuantum(int c1, int c2, Output<?> output)
Decodes the base-16 digitsc1
andc2
, and writes the 8-bit quantity they represent to the givenoutput
.
-
parser
public static <O> Parser<O> parser(Output<O> output)
Returns aParser
that decodes base-16 (hexadecimal) encoded input, and writes the decoded bytes tooutput
.
-
parse
public static <O> Parser<O> parse(Input input, Output<O> output)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes tooutput
, returning aParser
continuation that knows how to parse any additional input.
-
parseByteArray
public static Parser<byte[]> parseByteArray(Input input)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes to a growable array, returning aParser
continuation that knows how to parse any additional input. The returnedParser
binds
abyte[]
array containing all parsed base-16 data.
-
parseByteBuffer
public static Parser<ByteBuffer> parseByteBuffer(Input input)
Parses the base-16 (hexadecimal) encodedinput
, and writes the decoded bytes to a growable buffer, returning aParser
continuation that knows how to parse any additional input. The returnedParser
binds
aByteBuffer
containing all parsed base-16 data.
-
-