Class Hex
- All Implemented Interfaces:
- BinaryDecoder,- BinaryEncoder,- Decoder,- Encoder
DEFAULT_CHARSET_NAME
 This class is thread-safe.- Since:
- 1.1
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final CharsetDefault charset isStandardCharsets.UTF_8.static final StringDefault charset name isCharEncoding.UTF_8.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionbyte[]decode(byte[] array) 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[]decode(ByteBuffer buffer) Converts a buffer 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 intdecodeHex(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[]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.Converts a String or an array of bytes into an array of 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.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(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 voidencodeHex(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[]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 StringencodeHexString(byte[] data) Converts an array of bytes into a String representing the hexadecimal values of each byte in order.static StringencodeHexString(byte[] data, boolean toLowerCase) Converts an array of bytes into a String representing the hexadecimal values of each byte in order.static StringencodeHexString(ByteBuffer data) Converts a byte buffer into a String representing the hexadecimal values of each byte in order.static StringencodeHexString(ByteBuffer data, boolean toLowerCase) 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 inttoDigit(char ch, int index) Converts a hexadecimal character to an integer.toString()Returns a string representation of the object, which includes the charset name.
- 
Field Details- 
DEFAULT_CHARSETDefault charset isStandardCharsets.UTF_8.- Since:
- 1.7
 
- 
DEFAULT_CHARSET_NAMEDefault charset name isCharEncoding.UTF_8.- Since:
- 1.4
 
 
- 
- 
Constructor Details- 
Hexpublic Hex()Creates a new codec with the default charset nameDEFAULT_CHARSET
- 
HexCreates a new codec with the given Charset.- Parameters:
- charset- the charset.
- Since:
- 1.7
 
- 
HexCreates a new codec with the given charset name.- Parameters:
- 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
 
 
- 
- 
Method Details- 
decodeHexConverts 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
 
- 
decodeHexConverts 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- outto 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:
- 1.15
 
- 
decodeHexConverts 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:
- 1.11
 
- 
encodeHexConverts 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
 
- 
encodeHexConverts 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-- trueconverts to lowercase,- falseto uppercase
- Returns:
- A char[] containing hexadecimal characters in the selected case
- Since:
- 1.4
 
- 
encodeHexConverts 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:
- 1.4
 
- 
encodeHexConverts 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- datato start encoding from
- dataLen- the number of bytes from- dataOffsetto encode
- toLowerCase-- trueconverts to lowercase,- falseto uppercase
- Returns:
- A char[] containing the appropriate characters from the alphabet For best results, this should be either upper- or lower-case hex.
- Since:
- 1.15
 
- 
encodeHexpublic 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.- Parameters:
- data- a byte[] to convert to hexadecimal characters
- dataOffset- the position in- datato start encoding from
- dataLen- the number of bytes from- dataOffsetto encode
- toLowerCase-- trueconverts to lowercase,- falseto uppercase
- out- a char[] which will hold the resultant appropriate characters from the alphabet.
- outOffset- the position within- outat which to start writing the encoded characters.
- Since:
- 1.15
 
- 
encodeHexConverts 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 valueremaining()will be zero.- Parameters:
- data- a byte buffer to convert to hexadecimal characters
- Returns:
- A char[] containing lower-case hexadecimal characters
- Since:
- 1.11
 
- 
encodeHexConverts 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 valueremaining()will be zero.- Parameters:
- data- a byte buffer to convert to hexadecimal characters
- toLowerCase-- trueconverts to lowercase,- falseto uppercase
- Returns:
- A char[] containing hexadecimal characters in the selected case
- Since:
- 1.11
 
- 
encodeHexConverts 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 valueremaining()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:
- 1.11
 
- 
encodeHexStringConverts 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:
- 1.4
 
- 
encodeHexStringConverts 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-- trueconverts to lowercase,- falseto uppercase
- Returns:
- A String containing lower-case hexadecimal characters
- Since:
- 1.11
 
- 
encodeHexStringConverts 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 valueremaining()will be zero.- Parameters:
- data- a byte buffer to convert to hexadecimal characters
- Returns:
- A String containing lower-case hexadecimal characters
- Since:
- 1.11
 
- 
encodeHexStringConverts 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 valueremaining()will be zero.- Parameters:
- data- a byte buffer to convert to hexadecimal characters
- toLowerCase-- trueconverts to lowercase,- falseto uppercase
- Returns:
- A String containing lower-case hexadecimal characters
- Since:
- 1.11
 
- 
toDigitConverts a hexadecimal character to an integer.- 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
 
- 
decodeConverts 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:
- decodein 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:
 
- 
decodeConverts 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 valueremaining()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:
- 1.11
- See Also:
 
- 
decodeConverts 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:
- decodein 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:
 
- 
encodeConverts 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:
- encodein 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:
 
- 
encodeConverts 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 valueremaining()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:
- 1.11
- See Also:
 
- 
encodeConverts 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:
- encodein 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:
 
- 
getCharsetGets the charset.- Returns:
- the charset.
- Since:
- 1.7
 
- 
getCharsetNameGets the charset name.- Returns:
- the charset name.
- Since:
- 1.4
 
- 
toStringReturns a string representation of the object, which includes the charset name.
 
-