Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.codec.binary
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

Converts hexadecimal Strings. The charset used for certain operation can be set, the default is set in `DEFAULT_CHARSET_NAME`

Since:
  1.1
Version:
  $Id: Hex.java 1157192 2011-08-12 17:27:38Z ggregory $
Author:
  Apache Software Foundation

Field Summary
`static String` | `DEFAULT_CHARSET_NAME` Default charset name is `CharEncoding.UTF_8`

Constructor Summary
`Hex()` Creates a new codec with the default charset name `DEFAULT_CHARSET_NAME`
`Hex(String csName)` Creates a new codec with the given charset name.

Method Summary
`byte[]` | `decode(byte[] array)` Converts an array of character bytes representing hexadecimal values into an array of bytes of those same values.
`Object` | `decode(Object object)` Converts a String or an array 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.
`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.
`Object` | `encode(Object object)` Converts a String or an array of bytes into an array of 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 String` | `encodeHexString(byte[] data)` Converts an array of bytes into a String representing the hexadecimal values of each byte in order.
`String` | `getCharsetName()` Gets the charset name.
`protected static int` | `toDigit(char ch, int index)` Converts a hexadecimal character to an integer.
`String` | `toString()` Returns a string representation of the object, which includes the charset name.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### DEFAULT_CHARSET_NAME

    public static final String DEFAULT_CHARSET_NAME

  Default charset name is `CharEncoding.UTF_8`

  Since:
    1.4
  See Also:
    Constant Field Values

Constructor Detail

### Hex

    public Hex()

  Creates a new codec with the default charset name `DEFAULT_CHARSET_NAME`

### Hex

    public Hex(String csName)

  Creates a new codec with the given charset name.

  Parameters:
    `csName` - the charset name.
  Since:
    1.4

Method Detail

### decodeHex

    public static byte[] decodeHex(char[] data)
                            throws DecoderException

  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:
    `DecoderException` - 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

### 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
  Returns:
    A char[] containing hexadecimal characters
  Since:
    1.4

### encodeHexString

    public static 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 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

### decode

    public byte[] decode(byte[] array)
                  throws DecoderException

  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.

  Specified by:
    `decode` in 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:
    `decodeHex(char[])`

### decode

    public Object decode(Object object)
                  throws DecoderException

  Converts 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:
    `decode` in interface `Decoder`
  Parameters:
    `object` - A String 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:
    `decodeHex(char[])`

### encode

    public 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. 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 `getCharsetName()`.

  Specified by:
    `encode` in interface `BinaryEncoder`
  Parameters:
    `array` - a byte[] to convert to Hex characters
  Returns:
    A byte[] containing the bytes of the hexadecimal characters
  Throws:
    `IllegalStateException` - if the charsetName is invalid. This API throws `IllegalStateException` instead of `UnsupportedEncodingException` for backward compatibility.
  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 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 `getCharsetName()`.

  Specified by:
    `encode` in interface `Encoder`
  Parameters:
    `object` - a String, or byte[] to convert to Hex characters
  Returns:
    A char[] containing hexadecimal characters
  Throws:
    `EncoderException` - Thrown if the given object is not a String or byte[]
  See Also:
    `encodeHex(byte[])`

### getCharsetName

    public String getCharsetName()

  Gets the charset name.

  Returns:
    the charset name.
  Since:
    1.4

### toString

    public String toString()

  Returns a string representation of the object, which includes the charset name.

  Overrides:
    `toString` in class `Object`
  Returns:
    a string representation of the object.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.