Class HexUtils


  • public final class HexUtils
    extends java.lang.Object
    Utilidades varias de tratamiento de datos binarios y hexadecimales.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static char[] HEX_CHARS
      Equivalencias de hexadecimal a texto por la posición del vector.
      private static java.util.logging.Logger LOGGER  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private HexUtils()
      Constructor privado.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean arrayEquals​(byte[] v, byte[] w)
      Comprueba si dos arrays de octetos son iguales.
      static boolean arrayEquals​(byte[] v, int vOffset, int vLen, byte[] w, int wOffset, int wLen)
      Comprueba si dos arrays de octetos son iguales.
      static byte[] charArrayToByteArray​(char[] inCharArray)
      Convierte un array de caracteres en otro de octetos.
      static byte[] concatenateByteArrays​(byte[]... arrays)
      Concatena arrays de octetos.
      static short getShort​(byte[] data, int offset)
      Obtiene un short a partir de un array de octetos.
      static int getUnsignedInt​(byte[] data, int offset)
      Obtiene un entero sin signo (doble octeto) a partir de un array de octetos.
      static java.lang.String hexify​(byte[] abyte, boolean separator)
      Convierte un vector de octetos en una cadena de caracteres que contiene su representación hexadecimal.
      static byte[] intToByteArray​(int value)
      Convierte un entero a un array de octetos de 4 posiciones, ordenado de izquierda a derecha.
      static byte[] subArray​(byte[] src, int srcPos, int length)
      Devuelve una porción del array especificado.
      static byte[] xor​(byte[] v, byte[] w)
      Realiza la operación XOR entre dos array de octetos.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOGGER

        private static final java.util.logging.Logger LOGGER
      • HEX_CHARS

        private static final char[] HEX_CHARS
        Equivalencias de hexadecimal a texto por la posición del vector. Para ser usado en hexify().
    • Constructor Detail

      • HexUtils

        private HexUtils()
        Constructor privado.
    • Method Detail

      • arrayEquals

        public static boolean arrayEquals​(byte[] v,
                                          byte[] w)
        Comprueba si dos arrays de octetos son iguales.
        Parameters:
        v - Primer array de octetos.
        w - Segundo array de octetos.
        Returns:
        true si los arrays son iguales, false en caso contrario.
      • arrayEquals

        public static boolean arrayEquals​(byte[] v,
                                          int vOffset,
                                          int vLen,
                                          byte[] w,
                                          int wOffset,
                                          int wLen)
        Comprueba si dos arrays de octetos son iguales.
        Parameters:
        v - Primer array de octetos.
        vOffset - Desplazamiento (offset) de inicio para el primer array.
        vLen - Longitud de los datos en el primer array.
        w - Segundo array de octetos.
        wOffset - Desplazamiento (offset) de inicio para el segundo array.
        wLen - Longitud de los datos en el segundo array.
        Returns:
        true si los arrays son iguales en longitudes y valores comparados desde los respectivos desplazamientos, false en caso contrario.
      • getShort

        public static short getShort​(byte[] data,
                                     int offset)
        Obtiene un short a partir de un array de octetos.
        Parameters:
        data - Array de octetos.
        offset - Desplazamiento (offset) hasta el inicio de los datos a tratar.
        Returns:
        Valor short.
      • getUnsignedInt

        public static int getUnsignedInt​(byte[] data,
                                         int offset)
        Obtiene un entero sin signo (doble octeto) a partir de un array de octetos.
        Parameters:
        data - Array de octetos. Solo se tienen en cuenta dos posiciones, y si el Array (a partir del desplazamiento) solo tiene una posición, se considera que ese único octeto es el valor sin signo del entero.
        offset - Desplazamiento (offset) hasta el inicio de los datos a tratar.
        Returns:
        Valor entero sin signo (2-byte unsigned int).
      • hexify

        public static java.lang.String hexify​(byte[] abyte,
                                              boolean separator)
        Convierte un vector de octetos en una cadena de caracteres que contiene su representación hexadecimal. Copiado directamente de opencard.core.util.HexString.
        Parameters:
        abyte - Array de octetos que deseamos representar textualmente.
        separator - Indica si han de separarse o no los octetos con un guión y en líneas de 16.
        Returns:
        Representación textual del vector de octetos de entrada.
      • subArray

        public static byte[] subArray​(byte[] src,
                                      int srcPos,
                                      int length)
        Devuelve una porción del array especificado.
        Parameters:
        src - Array de octetos original.
        srcPos - Posición de origen de la porción del array de octetos a obtener.
        length - Número de octetos de la porción a obtener.
        Returns:
        Una porción del array especificado.
      • xor

        public static byte[] xor​(byte[] v,
                                 byte[] w)
        Realiza la operación XOR entre dos array de octetos. El resultado se recortará para ser del tamaño del primer array recibido tomando los octetos menos significativos del resultado.
        Parameters:
        v - Primer array de bytes.
        w - Segundo array de bytes.
        Returns:
        Resultado del XOR de los arrays de entrada.
      • intToByteArray

        public static byte[] intToByteArray​(int value)
        Convierte un entero a un array de octetos de 4 posiciones, ordenado de izquierda a derecha.
        Parameters:
        value - Entero a convertir.
        Returns:
        Array de octetos resultante.
      • concatenateByteArrays

        public static byte[] concatenateByteArrays​(byte[]... arrays)
        Concatena arrays de octetos.
        Parameters:
        arrays - Arrays de octetos a concatenar, en el orden de concatenación.
        Returns:
        Arrays concatenados.
      • charArrayToByteArray

        public static byte[] charArrayToByteArray​(char[] inCharArray)
        Convierte un array de caracteres en otro de octetos.
        Parameters:
        inCharArray - El array de char de entrada.
        Returns:
        Array de byte correspondiente al array de char de entrada.