In questo programma imparerai diverse tecniche per convertire un array di byte in esadecimale in Java.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Array Java
- Classe e oggetti Java
Esempio 1: conversione di array di byte in valore esadecimale
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); ) ) )
Produzione
0A020F0B
Nel programma sopra, abbiamo un array di byte chiamato bytes. Per convertire un array di byte in un valore esadecimale, eseguiamo un ciclo su ogni byte dell'array e utilizziamo String
's format()
.
Usiamo %02X
per stampare due posizioni ( 02
) di X
valore esadecimale ( ) e memorizzarlo nella stringa st.
Questo è un processo relativamente più lento per la conversione di array di grandi byte. Possiamo aumentare notevolmente la velocità di esecuzione utilizzando le operazioni sui byte mostrate di seguito.
Esempio 2: conversione della matrice di byte in valore esadecimale utilizzando operazioni sui byte
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); ) )
L'output del programma è lo stesso dell'esempio 1 .