/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the lower-case hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte buffer to convert to Hex characters * @return A byte[] containing the bytes of the lower-case hexadecimal characters * @see #encodeHex(byte[]) * @since 1.11 */ public byte[] encode(final ByteBuffer array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * * @param buffer * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) * @since 1.11 */ public byte[] decode(final ByteBuffer buffer) throws DecoderException { return decodeHex(new String(buffer.array(), getCharset()).toCharArray()); }
byte[] byteArray; if (object instanceof String) { byteArray = ((String) object).getBytes(this.getCharset()); } else if (object instanceof ByteBuffer) { byteArray = ((ByteBuffer) object).array();
@Test public void testGetCharset() { Assert.assertEquals(Charsets.UTF_8, new Hex(Charsets.UTF_8).getCharset()); }
expectedHexString = "48656c6c6f20576f726c64"; final byte[] decodedUtf8Bytes = (byte[]) utf8Codec.decode(expectedHexString); actualStringFromBytes = new String(decodedUtf8Bytes, utf8Codec.getCharset());
/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte buffer to convert to Hex characters * @return A byte[] containing the bytes of the lower-case hexadecimal characters * @see #encodeHex(byte[]) * @since 1.11 */ public byte[] encode(final ByteBuffer array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * * @param array * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) */ @Override public byte[] decode(final byte[] array) throws DecoderException { return decodeHex(new String(array, getCharset()).toCharArray()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the lower-case hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * <p> * The conversion from hexadecimal characters to the returned bytes is performed with the charset named by * {@link #getCharset()}. * </p> * * @param array * a byte[] to convert to Hex characters * @return A byte[] containing the bytes of the hexadecimal characters * @since 1.7 No longer throws IllegalStateException if the charsetName is invalid. * @see #encodeHex(byte[]) */ @Override public byte[] encode(final byte[] array) { return encodeHexString(array).getBytes(this.getCharset()); }
/** * 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. * * @param buffer * An array of character bytes containing hexadecimal digits * @return 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 #decodeHex(char[]) * @since 1.11 */ public byte[] decode(final ByteBuffer buffer) throws DecoderException { return decodeHex(new String(buffer.array(), getCharset()).toCharArray()); }
/** * 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. * <p> * The conversion from hexadecimal characters to bytes to be encoded to performed with the charset named by * {@link #getCharset()}. * </p> * * @param object * a String, or byte[] to convert to Hex characters * @return A char[] containing hexadecimal characters * @throws EncoderException * Thrown if the given object is not a String or byte[] * @see #encodeHex(byte[]) */ @Override public Object encode(final Object object) throws EncoderException { try { final byte[] byteArray = object instanceof String ? ((String) object).getBytes(this.getCharset()) : (byte[]) object; return encodeHex(byteArray); } catch (final ClassCastException e) { throw new EncoderException(e.getMessage(), e); } }