Class Hex

java.lang.Object
org.apache.commons.codec.binary.Hex
All Implemented Interfaces:
BinaryDecoder, BinaryEncoder, Decoder, Encoder

public class Hex
extends Object
implements BinaryEncoder, BinaryDecoder
Hex encoder and decoder.
Since:
1.1
Version:
$Id: Hex.java,v 1.13 2004/04/18 18:22:33 ggregory Exp $
Author:
Apache Software Foundation
  • Constructor Summary

    Constructors
    Constructor Description
    Hex()  
  • Method Summary

    Modifier and Type Method Description
    byte[] decode​(byte[] array)
    Converts an array of character bytes representing hexidecimal values into an array of bytes of those same values.
    Object decode​(Object object)
    Converts a String or an array of character bytes representing hexidecimal values into an array of bytes of those same values.
    static byte[] decodeHex​(char[] data)
    Converts an array of characters representing hexidecimal 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 hexidecimal 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 hexidecimal values of each byte in order.
    static char[] encodeHex​(byte[] data)
    Converts an array of bytes into an array of characters representing the hexidecimal values of each byte in order.
    protected static int toDigit​(char ch, int index)
    Converts a hexadecimal character to an integer.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Hex

      public Hex()
  • Method Details

    • decodeHex

      public static byte[] decodeHex​(char[] data) throws DecoderException
      Converts an array of characters representing hexidecimal 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 hexidecimal digits
      Returns:
      A byte array containing binary data decoded from the supplied char array.
      Throws:
      DecoderException - Thrown if an odd number or illegal of characters is supplied
    • toDigit

      protected static int toDigit​(char ch, int index) throws DecoderException
      Converts 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 hex character
    • encodeHex

      public static char[] encodeHex​(byte[] data)
      Converts an array of bytes into an array of characters representing the hexidecimal 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
      Returns:
      A char[] containing hexidecimal characters
    • decode

      public byte[] decode​(byte[] array) throws DecoderException
      Converts an array of character bytes representing hexidecimal 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 hexidecimal 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[])
    • decode

      public Object decode​(Object object) throws DecoderException
      Converts a String or an array of character bytes representing hexidecimal 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 or, an array of character bytes containing hexidecimal 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 hexidecimal 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.
      Specified by:
      encode in interface BinaryEncoder
      Parameters:
      array - a byte[] to convert to Hex characters
      Returns:
      A byte[] containing the bytes of the hexidecimal characters
      See Also:
      encodeHex(byte[])
    • encode

      public Object encode​(Object object) throws EncoderException
      Converts a String or an array of bytes into an array of characters representing the hexidecimal 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.
      Specified by:
      encode in interface Encoder
      Parameters:
      object - a String, or byte[] to convert to Hex characters
      Returns:
      A char[] containing hexidecimal characters
      Throws:
      EncoderException - Thrown if the given object is not a String or byte[]
      See Also:
      encodeHex(byte[])