extends
Object
implements
BinaryEncoder
,
BinaryDecoder
Converts hexadecimal Strings. The Charset used for certain operation can be set, the default is set in
DEFAULT_CHARSET_NAME
This class is thread-safe.
Since:
Creates a new codec with the given charset name.
Creates a new codec with the given Charset.
Converts an array of character bytes representing hexadecimal values into an array of bytes of those same values.
Converts a String or an array of character bytes representing hexadecimal values into an array of bytes of those
same values.
byte[]
Converts a buffer of character bytes representing hexadecimal values into an array of bytes of those same values.
static byte[]
Converts an array of characters representing hexadecimal values into an array of bytes of those same values.
static int
decodeHex
(char[] data,
byte[] out,
int outOffset)
Converts an array of characters representing hexadecimal values into an array of bytes of those same values.
static byte[]
Converts a String representing hexadecimal values into an array of bytes of those same values.
byte[]
Converts an array of bytes into an array of bytes for the characters representing the hexadecimal values of each
byte in order.
Converts a String or an array of bytes into an array of characters representing the hexadecimal values of each
byte in order.
byte[]
Converts byte buffer into an array of bytes for the characters representing the hexadecimal values of each byte
in order.
static char[]
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
static char[]
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
protected static char[]
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
static char[]
encodeHex
(byte[] data,
int dataOffset,
int dataLen,
boolean toLowerCase)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
static void
encodeHex
(byte[] data,
int dataOffset,
int dataLen,
boolean toLowerCase,
char[] out,
int outOffset)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
static char[]
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
static char[]
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
protected static char[]
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
Converts an array of bytes into a String representing the hexadecimal values of each byte in order.
Converts an array of bytes into a String representing the hexadecimal values of each byte in order.
Converts a byte buffer into a String representing the hexadecimal values of each byte in order.
Converts a byte buffer into a String representing the hexadecimal values of each byte in order.
Gets the charset.
Gets the charset name.
protected static int
Converts a hexadecimal character to an integer.
Returns a string representation of the object, which includes the charset name.
DEFAULT_CHARSET
Since:
DEFAULT_CHARSET_NAME
Since:
charsetName
- the charset name.
Throws:
UnsupportedCharsetException
- If the named charset is unavailable
Since:
1.4, 1.7 throws UnsupportedCharsetException if the named charset is unavailable
Converts an array of characters representing hexadecimal values into an array of bytes of those same values. The
returned array will be half the length of the passed array, as it takes two characters to represent any given
byte. An exception is thrown if the passed char array has an odd number of elements.
Parameters:
data
- An array of characters containing hexadecimal digits
Returns:
A byte array containing binary data decoded from the supplied char array.
Throws:
DecoderException
- Thrown if an odd number of characters or illegal characters are supplied
int outOffset)
throws
DecoderException
Converts an array of characters representing hexadecimal values into an array of bytes of those same values. The
returned array will be half the length of the passed array, as it takes two characters to represent any given
byte. An exception is thrown if the passed char array has an odd number of elements.
Parameters:
data
- An array of characters containing hexadecimal digits
out
- A byte array to contain the binary data decoded from the supplied char array.
outOffset
- The position within
out
to start writing the decoded bytes.
Returns:
the number of bytes written to
out
.
Throws:
DecoderException
- Thrown if an odd number of characters or illegal characters are supplied
Since:
Converts a String representing hexadecimal values into an array of bytes of those same values. The returned array
will be half the length of the passed String, as it takes two characters to represent any given byte. An
exception is thrown if the passed String has an odd number of elements.
Parameters:
data
- A String containing hexadecimal digits
Returns:
A byte array containing binary data decoded from the supplied char array.
Throws:
DecoderException
- Thrown if an odd number of characters or illegal characters are supplied
Since:
encodeHex
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
The returned array will be double the length of the passed array, as it takes two characters to represent any
given byte.
Parameters:
data
- a byte[] to convert to hexadecimal characters
Returns:
A char[] containing lower-case hexadecimal characters
public static
char[]
encodeHex
(byte[] data,
boolean toLowerCase)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
The returned array will be double the length of the passed array, as it takes two characters to represent any
given byte.
Parameters:
data
- a byte[] to convert to Hex characters
toLowerCase
-
true
converts to lowercase,
false
to uppercase
Returns:
A char[] containing hexadecimal characters in the selected case
Since:
protected static
char[]
encodeHex
(byte[] data,
char[] toDigits)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
The returned array will be double the length of the passed array, as it takes two characters to represent any
given byte.
Parameters:
data
- a byte[] to convert to hexadecimal characters
toDigits
- the output alphabet (must contain at least 16 chars)
Returns:
A char[] containing the appropriate characters from the alphabet For best results, this should be either
upper- or lower-case hex.
Since:
int dataLen,
boolean toLowerCase)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
Parameters:
data
- a byte[] to convert to hexadecimal characters
dataOffset
- the position in
data
to start encoding from
dataLen
- the number of bytes from
dataOffset
to encode
toLowerCase
-
true
converts to lowercase,
false
to uppercase
Returns:
A char[] containing the appropriate characters from the alphabet For best results, this should be either
upper- or lower-case hex.
Since:
char[] out,
int outOffset)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
Parameters:
data
- a byte[] to convert to hexadecimal characters
dataOffset
- the position in
data
to start encoding from
dataLen
- the number of bytes from
dataOffset
to encode
toLowerCase
-
true
converts to lowercase,
false
to uppercase
out
- a char[] which will hold the resultant appropriate characters from the alphabet.
outOffset
- the position within
out
at which to start writing the encoded characters.
Since:
encodeHex
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order. The
returned array will be double the length of the passed array, as it takes two characters to represent any given
byte.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
data
- a byte buffer to convert to hexadecimal characters
Returns:
A char[] containing lower-case hexadecimal characters
Since:
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order. The
returned array will be double the length of the passed array, as it takes two characters to represent any given
byte.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
data
- a byte buffer to convert to hexadecimal characters
toLowerCase
-
true
converts to lowercase,
false
to uppercase
Returns:
A char[] containing hexadecimal characters in the selected case
Since:
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order. The
returned array will be double the length of the passed array, as it takes two characters to represent any given
byte.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
byteBuffer
- a byte buffer to convert to hexadecimal characters
toDigits
- the output alphabet (must be at least 16 characters)
Returns:
A char[] containing the appropriate characters from the alphabet For best results, this should be either
upper- or lower-case hex.
Since:
encodeHexString
Converts an array of bytes into a String representing the hexadecimal values of each byte in order. The returned
String will be double the length of the passed array, as it takes two characters to represent any given byte.
Parameters:
data
- a byte[] to convert to hexadecimal characters
Returns:
A String containing lower-case hexadecimal characters
Since:
encodeHexString
Converts an array of bytes into a String representing the hexadecimal values of each byte in order. The returned
String will be double the length of the passed array, as it takes two characters to represent any given byte.
Parameters:
data
- a byte[] to convert to hexadecimal characters
toLowerCase
-
true
converts to lowercase,
false
to uppercase
Returns:
A String containing lower-case hexadecimal characters
Since:
encodeHexString
Converts a byte buffer into a String representing the hexadecimal values of each byte in order. The returned
String will be double the length of the passed array, as it takes two characters to represent any given byte.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
data
- a byte buffer to convert to hexadecimal characters
Returns:
A String containing lower-case hexadecimal characters
Since:
encodeHexString
Converts a byte buffer into a String representing the hexadecimal values of each byte in order. The returned
String will be double the length of the passed array, as it takes two characters to represent any given byte.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
data
- a byte buffer to convert to hexadecimal characters
toLowerCase
-
true
converts to lowercase,
false
to uppercase
Returns:
A String containing lower-case hexadecimal characters
Since:
Parameters:
ch
- A character to convert to an integer digit
index
- The index of the character in the source
Returns:
An integer
Throws:
DecoderException
- Thrown if ch is an illegal hexadecimal character
Converts an array of character bytes representing hexadecimal values into an array of bytes of those same values.
The returned array will be half the length of the passed array, as it takes two characters to represent any given
byte. An exception is thrown if the passed char array has an odd number of elements.
Specified by:
decode
in interface
BinaryDecoder
Parameters:
array
- An array of character bytes containing hexadecimal digits
Returns:
A byte array containing binary data decoded from the supplied byte array (representing characters).
Throws:
DecoderException
- Thrown if an odd number of characters is supplied to this function
See Also:
decodeHex(char[])
Converts a buffer of character bytes representing hexadecimal values into an array of bytes of those same values.
The returned array will be half the length of the passed array, as it takes two characters to represent any given
byte. An exception is thrown if the passed char array has an odd number of elements.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
buffer
- An array of character bytes containing hexadecimal digits
Returns:
A byte array containing binary data decoded from the supplied byte array (representing characters).
Throws:
DecoderException
- Thrown if an odd number of characters is supplied to this function
Since:
See Also:
decodeHex(char[])
Converts a String or an array of character bytes representing hexadecimal values into an array of bytes of those
same values. The returned array will be half the length of the passed String or array, as it takes two characters
to represent any given byte. An exception is thrown if the passed char array has an odd number of elements.
Specified by:
decode
in interface
Decoder
Parameters:
object
- A String, ByteBuffer, byte[], or an array of character bytes containing hexadecimal digits
Returns:
A byte array containing binary data decoded from the supplied byte array (representing characters).
Throws:
DecoderException
- Thrown if an odd number of characters is supplied to this function or the object is not
a String or char[]
See Also:
decodeHex(char[])
encode
public
byte[]
encode
(byte[] array)
Converts an array of bytes into an array of bytes for the characters representing the hexadecimal values of each
byte in order. The returned array will be double the length of the passed array, as it takes two characters to
represent any given byte.
The conversion from hexadecimal characters to the returned bytes is performed with the charset named by
getCharset()
.
Specified by:
encode
in interface
BinaryEncoder
Parameters:
array
- a byte[] to convert to hexadecimal characters
Returns:
A byte[] containing the bytes of the lower-case hexadecimal characters
Since:
1.7 No longer throws IllegalStateException if the charsetName is invalid.
See Also:
encodeHex(byte[])
encode
Converts byte buffer into an array of bytes for the characters representing the hexadecimal values of each byte
in order. The returned array will be double the length of the passed array, as it takes two characters to
represent any given byte.
The conversion from hexadecimal characters to the returned bytes is performed with the charset named by
getCharset()
.
All bytes identified by
Buffer.remaining()
will be used; after this method
the value
remaining()
will be zero.
Parameters:
array
- a byte buffer to convert to hexadecimal characters
Returns:
A byte[] containing the bytes of the lower-case hexadecimal characters
Since:
See Also:
encodeHex(byte[])
Converts a String or an array of bytes into an array of characters representing the hexadecimal values of each
byte in order. The returned array will be double the length of the passed String or array, as it takes two
characters to represent any given byte.
The conversion from hexadecimal characters to bytes to be encoded to performed with the charset named by
getCharset()
.
Specified by:
encode
in interface
Encoder
Parameters:
object
- a String, ByteBuffer, or byte[] to convert to hexadecimal characters
Returns:
A char[] containing lower-case hexadecimal characters
Throws:
EncoderException
- Thrown if the given object is not a String or byte[]
See Also:
encodeHex(byte[])
toString
Returns a string representation of the object, which includes the charset name.
Overrides:
toString
in class
Object
Returns:
a string representation of the object.