Class Hex


  • public class Hex
    extends Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Hex()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      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.
      protected static int toDigit​(char ch, int index)
      Converts a hexadecimal character to an integer.
    • Constructor Detail

      • Hex

        public Hex()
    • Method Detail

      • decodeHex

        public static byte[] decodeHex​(String data)
                                throws IllegalArgumentException
        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:
        IllegalArgumentException - Thrown if an odd number or illegal of characters is supplied
        Since:
        1.11
      • decodeHex

        public static byte[] decodeHex​(char[] data)
                                throws IllegalArgumentException
        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:
        IllegalArgumentException - Thrown if an odd number or illegal of characters is supplied
      • encodeHex

        public static char[] encodeHex​(byte[] data)
        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
        Returns:
        A char[] containing lower-case hexadecimal characters
      • encodeHex

        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:
        1.4
      • encodeHex

        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 Hex 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
      • toDigit

        protected static int toDigit​(char ch,
                                     int index)
                              throws IllegalArgumentException
        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:
        IllegalArgumentException - Thrown if ch is an illegal hex character