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 %02X
para imprimir duas casas ( 02
) do X
valor 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 .