Class Hex

java.lang.Object
com.qiniu.android.dns.util.Hex

public final class Hex
extends java.lang.Object
Converts hexadecimal Strings. This class is thread-safe.
Since:
1.1
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  Hex.HexDecodeException  
  • Constructor Summary

    Constructors 
    Constructor Description
    Hex()  
  • Method Summary

    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 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.
    static java.lang.String encodeHexString​(byte[] data)
    Converts an array of bytes into a String representing the hexadecimal 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 Hex.HexDecodeException
      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:
      Hex.HexDecodeException - 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 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
      Since:
      1.4
    • encodeHexString

      public static java.lang.String encodeHexString​(byte[] data)
      Converts 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 Hex characters
      Returns:
      A String containing hexadecimal characters
      Since:
      1.4
    • toDigit

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