Header Ads Widget

Ticker

6/recent/ticker-posts

Programa Java para convertir matriz de bytes a hexadecimal

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

  1. public class ByteHex {
  2. public static void main(String[] args) {
  3. byte[] bytes = {10, 2, 15, 11};
  4. for (byte b : bytes) {
  5. String st = String.format("%02X", b);
  6. System.out.print(st);
  7. }
  8. }
  9. }
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 %02Xpara imprimir dos lugares ( 02) de Xvalor 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

  1. public class ByteHex {
  2. private final static char[] hexArray = "0123456789ABCDEF".toCharArray();
  3. public static String bytesToHex(byte[] bytes) {
  4. char[] hexChars = new char[bytes.length * 2];
  5. for ( int j = 0; j < bytes.length; j++ ) {
  6. int v = bytes[j] & 0xFF;
  7. hexChars[j * 2] = hexArray[v >>> 4];
  8. hexChars[j * 2 + 1] = hexArray[v & 0x0F];
  9. }
  10. return new String(hexChars);
  11. }
  12. public static void main(String[] args) {
  13. byte[] bytes = {10, 2, 15, 11};
  14. String s = bytesToHex(bytes);
  15. System.out.println(s);
  16. }
  17. }
La salida del programa es la misma que en el Ejemplo 1.

Publicar un comentario

0 Comentarios