Programa Java para converter array de bytes em hexadecimal

Neste programa, você aprenderá diferentes técnicas para converter array de bytes em hexadecimal em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Arrays Java
  • Classe e objetos Java

Exemplo 1: converter matriz de bytes em 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); ) ) )

Resultado

 0A020F0B

No programa acima, temos uma matriz de bytes chamada bytes. Para converter a matriz de bytes em um valor hexadecimal, percorremos cada byte na matriz e usamos String's format().

Usamos %02Xpara imprimir duas casas ( 02) do Xvalor Hexadecimal ( ) e armazená-lo na string st.

Este é um processo relativamente mais lento para a conversão de grandes matrizes de bytes. Podemos aumentar drasticamente a velocidade de execução usando as operações de byte mostradas abaixo.

Exemplo 2: converter matriz de bytes em valor hexadecimal usando operações 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 >> 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); ) )

A saída do programa é a mesma do Exemplo 1 .

Artigos interessantes...