In diesem Programm lernen Sie verschiedene Techniken zum Konvertieren von Byte-Arrays in Hexadezimalwerte in Java.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden Java-Programmierthemen kennen:
- Java-Arrays
- Java-Klasse und Objekte
Beispiel 1: Konvertieren Sie das Byte-Array in einen Hex-Wert
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); ) ) )
Ausgabe
0A020F0B
Im obigen Programm haben wir ein Byte-Array namens Bytes. Um das Byte-Array in einen Hex-Wert umzuwandeln, durchlaufen wir jedes Byte im Array und verwenden String
's format()
.
Wir verwenden %02X
, um zwei Stellen ( 02
) des Hexadezimalwerts ( X
) zu drucken und in der Zeichenfolge st zu speichern.
Dies ist ein relativ langsamerer Prozess für die Konvertierung von Arrays mit großen Bytes. Mit den unten gezeigten Byte-Operationen können wir die Ausführungsgeschwindigkeit drastisch erhöhen.
Beispiel 2: Konvertieren des Byte-Arrays mithilfe von Byte-Operationen in einen Hex-Wert
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); ) )
Die Ausgabe des Programms ist dieselbe wie in Beispiel 1 .