En este programa, aprenderá diferentes técnicas para convertir la matriz de bytes a hexadecimal en Java.
Ejemplo 1: Convertir matriz de bytes a valor hexadecimal
public class ByteHex {
public static void main(String[] args) {
byte[] bytes = {10, 2, 15, 11};
for (byte b : bytes) {
String st = String.format("%02X", b);
System.out.print(st);
}
}
}
Cuando ejecutas el programa, la salida será:
0A020F0B
En el programa anterior, tenemos una matriz de bytes llamada bytes . Para convertir la matriz de bytes en un valor hexadecimal, recorremos cada byte en la matriz y usamos
String
's format()
.
Utilizamos
%02X
para imprimir dos lugares ( 02
) de X
valor hexadecimal ( ) y almacenarlo en la cadena st .
Este es un proceso relativamente más lento para la conversión de matriz de bytes grandes. Podemos aumentar dramáticamente la velocidad de ejecución utilizando las operaciones de bytes que se muestran a continuación.
Ejemplo 2: Convertir matriz de bytes a valor hexadecimal utilizando operaciones de bytes
public class ByteHex {
private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
public static String bytesToHex(byte[] bytes) {
char[] hexChars = new char[bytes.length * 2];
for ( int j = 0; j < bytes.length; j++ ) {
int v = bytes[j] & 0xFF;
hexChars[j * 2] = hexArray[v >>> 4];
hexChars[j * 2 + 1] = hexArray[v & 0x0F];
}
return new String(hexChars);
}
public static void main(String[] args) {
byte[] bytes = {10, 2, 15, 11};
String s = bytesToHex(bytes);
System.out.println(s);
}
}
La salida del programa es la misma que en el Ejemplo 1.
0 Comentarios
Dejanos tu comentario para seguir mejorando!