English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Convertir un array de bytes a una cadena hexadecimal en Java

Texto

public static void main(String args[]) {

A continuación, nuestro array de bytes.

public static String display(byte[] b1) {
   StringBuilder strBuilder = new StringBuilder();
   for(byte val : b1) {
      strBuilder.append(String.format("%02x, val&0xff));
   }
   return strBuilder.toString();
}

Aquí creamos un método personalizado "display" y pasamos el valor del array de bytes. Este mismo método convierte el array de bytes en una cadena hexadecimal.

Ahora veamos todo el ejemplo.

Ejemplo
   public class Demo {
      public static void main(String args[]) {
      /* byte[] b = new byte[]{'p', 'q', 'r'};-impresibles
      caracteres, por ejemplo, 0 es NUL, 5 is ENQ en formato ASCII */
      String str = new String(b);
      System.out.println(str);
      //Array de bytes de cadena hexadecimal
      System.out.println("ByteArray a HexString = " + display(b));
   }
   public static String display(byte[] b1) {
      StringBuilder strBuilder = new StringBuilder();
      for(byte val : b1) {
         strBuilder.append(String.format("%02x, val&0xff));
      }
      return strBuilder.toString();
   }
}

Resultado de salida

pqr
ByteArray a HexString = 707172