public class Hex extends Object implements BinaryEncoder, BinaryDecoder
DEFAULT_CHARSET_NAME
This class is thread-safe.Modifier and Type | Field and Description |
---|---|
static java.nio.charset.Charset |
DEFAULT_CHARSET
Default charset is
Charsets.UTF_8 |
static String |
DEFAULT_CHARSET_NAME
Default charset name is
CharEncoding.UTF_8 |
Constructor and Description |
---|
Hex()
Creates a new codec with the default charset name
DEFAULT_CHARSET |
Hex(java.nio.charset.Charset charset)
Creates a new codec with the given Charset.
|
Hex(String charsetName)
Creates a new codec with the given charset name.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
decode(byte[] array)
Converts an array of character bytes representing hexadecimal values into an array of bytes of those same values.
|
byte[] |
decode(ByteBuffer buffer)
Converts a buffer of character bytes representing hexadecimal values into an array of bytes of those same values.
|
Object |
decode(Object object)
Converts a String or an array of character bytes representing hexadecimal values into an array of bytes of those
same values.
|
static byte[] |
decodeHex(char[] data)
Converts an array of characters representing hexadecimal values into an array of bytes of those same values.
|
static byte[] |
decodeHex(String data)
Converts a String representing hexadecimal values into an array of bytes of those same values.
|
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.
|
byte[] |
encode(ByteBuffer array)
Converts byte buffer into an array of bytes for the characters representing the hexadecimal values of each byte
in order.
|
Object |
encode(Object object)
Converts a String or an array of bytes into an array of characters representing the hexadecimal values of each
byte in order.
|
static char[] |
encodeHex(byte[] data)
Converts an array of bytes into an array of characters representing the hexadecimal values of each byte in order.
|
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.
|
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.
|
static char[] |
encodeHex(ByteBuffer data)
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
|
static char[] |
encodeHex(ByteBuffer data,
boolean toLowerCase)
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
|
protected static char[] |
encodeHex(ByteBuffer byteBuffer,
char[] toDigits)
Converts a byte buffer into an array of characters representing the hexadecimal values of each byte in order.
|
static String |
encodeHexString(byte[] data)
Converts an array of bytes into a String representing the hexadecimal values of each byte in order.
|
static String |
encodeHexString(byte[] data,
boolean toLowerCase)
Converts an array of bytes into a String representing the hexadecimal values of each byte in order.
|
static String |
encodeHexString(ByteBuffer data)
Converts a byte buffer into a String representing the hexadecimal values of each byte in order.
|
static String |
encodeHexString(ByteBuffer data,
boolean toLowerCase)
Converts a byte buffer into a String representing the hexadecimal values of each byte in order.
|
java.nio.charset.Charset |
getCharset()
Gets the charset.
|
String |
getCharsetName()
Gets the charset name.
|
protected static int |
toDigit(char ch,
int index)
Converts a hexadecimal character to an integer.
|
String |
toString()
Returns a string representation of the object, which includes the charset name.
|
public static final java.nio.charset.Charset DEFAULT_CHARSET
Charsets.UTF_8
public static final String DEFAULT_CHARSET_NAME
CharEncoding.UTF_8
public Hex()
DEFAULT_CHARSET
public Hex(java.nio.charset.Charset charset)
charset
- the charset.public Hex(String charsetName)
charsetName
- the charset name.java.nio.charset.UnsupportedCharsetException
- If the named charset is unavailablepublic byte[] decode(byte[] array) throws DecoderException
decode
in interface BinaryDecoder
array
- An array of character bytes containing hexadecimal digitsDecoderException
- Thrown if an odd number of characters is supplied to this functiondecodeHex(char[])
public byte[] decode(ByteBuffer buffer) throws DecoderException
buffer
- An array of character bytes containing hexadecimal digitsDecoderException
- Thrown if an odd number of characters is supplied to this functiondecodeHex(char[])
public Object decode(Object object) throws DecoderException
decode
in interface Decoder
object
- A String, ByteBuffer, byte[], or an array of character bytes containing hexadecimal digitsDecoderException
- Thrown if an odd number of characters is supplied to this function or the object is not
a String or char[]decodeHex(char[])
public static byte[] decodeHex(char[] data) throws DecoderException
data
- An array of characters containing hexadecimal digitsDecoderException
- Thrown if an odd number or illegal of characters is suppliedpublic static byte[] decodeHex(String data) throws DecoderException
data
- A String containing hexadecimal digitsDecoderException
- Thrown if an odd number or illegal of characters is suppliedpublic byte[] encode(byte[] array)
The conversion from hexadecimal characters to the returned bytes is performed with the charset named by
getCharset()
.
encode
in interface BinaryEncoder
array
- a byte[] to convert to Hex charactersencodeHex(byte[])
public byte[] encode(ByteBuffer array)
The conversion from hexadecimal characters to the returned bytes is performed with the charset named by
getCharset()
.
array
- a byte buffer to convert to Hex charactersencodeHex(byte[])
public Object encode(Object object) throws EncoderException
The conversion from hexadecimal characters to bytes to be encoded to performed with the charset named by
getCharset()
.
encode
in interface Encoder
object
- a String, ByteBuffer, or byte[] to convert to Hex charactersEncoderException
- Thrown if the given object is not a String or byte[]encodeHex(byte[])
public static char[] encodeHex(byte[] data)
data
- a byte[] to convert to Hex characterspublic static char[] encodeHex(byte[] data, boolean toLowerCase)
data
- a byte[] to convert to Hex characterstoLowerCase
- true
converts to lowercase, false
to uppercaseprotected static char[] encodeHex(byte[] data, char[] toDigits)
data
- a byte[] to convert to Hex characterstoDigits
- the output alphabet (must contain at least 16 chars)public static char[] encodeHex(ByteBuffer data)
data
- a byte buffer to convert to Hex characterspublic static char[] encodeHex(ByteBuffer data, boolean toLowerCase)
data
- a byte buffer to convert to Hex characterstoLowerCase
- true
converts to lowercase, false
to uppercaseprotected static char[] encodeHex(ByteBuffer byteBuffer, char[] toDigits)
byteBuffer
- a byte buffer to convert to Hex characterstoDigits
- the output alphabet (must be at least 16 characters)public static String encodeHexString(byte[] data)
data
- a byte[] to convert to Hex characterspublic static String encodeHexString(byte[] data, boolean toLowerCase)
data
- a byte[] to convert to Hex characterstoLowerCase
- true
converts to lowercase, false
to uppercasepublic static String encodeHexString(ByteBuffer data)
data
- a byte buffer to convert to Hex characterspublic static String encodeHexString(ByteBuffer data, boolean toLowerCase)
data
- a byte buffer to convert to Hex characterstoLowerCase
- true
converts to lowercase, false
to uppercasepublic java.nio.charset.Charset getCharset()
public String getCharsetName()
protected static int toDigit(char ch, int index) throws DecoderException
ch
- A character to convert to an integer digitindex
- The index of the character in the sourceDecoderException
- Thrown if ch is an illegal hex character