Heim > Java > javaLernprogramm > Wie konvertiert man ein Byte-Array in Java in ein Hexadezimal-Array?

Wie konvertiert man ein Byte-Array in Java in ein Hexadezimal-Array?

Patricia Arquette
Freigeben: 2024-11-28 18:23:13
Original
558 Leute haben es durchsucht

How to Convert a Byte Array to Hexadecimal in Java?

Byte-Array in Java in Hexadezimal konvertieren

Das Konvertieren eines Byte-Arrays in seine hexadezimale Darstellung ist eine häufige Aufgabe in der Softwareentwicklung. Java bietet mehrere Methoden, um diese Konvertierung zu erreichen.

Ein Ansatz besteht darin, die Methode String.format() mit einer bestimmten Formatzeichenfolge zu verwenden: „X“. Hier ist ein Beispiel:

byte[] bytes = {-1, 0, 1, 2, 3 };
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
    sb.append(String.format("%02X ", b)); // Pad with zero and separate with space
}
System.out.println(sb.toString()); // Prints "FF 00 01 02 03"
Nach dem Login kopieren

Diese Methode stellt sicher, dass jedes Byte als zweistellige hexadezimale Zeichenfolge dargestellt wird, mit führenden Nullen zum Auffüllen freier Positionen.

Alternativ für eine kompaktere Darstellung Darstellung können Sie die Auffüllung und das Trennzeichen weglassen:

StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
    sb.append(String.format("%X", b)); // Shorter representation
}
System.out.println(sb.toString()); // Prints "FF00010203"
Nach dem Login kopieren

Es ist erwähnenswert, dass die Konvertierung eines signierten Die Umwandlung eines Bytes in eine 32-Bit-Ganzzahl vor der Konvertierung in eine Hexadezimalzahl mit Integer.toHexString() kann aufgrund der Vorzeichenerweiterung zu falschen Ergebnissen führen. Um dieses Problem zu vermeiden, können Sie den Bytewert explizit mit 0xFF maskieren:

byte b = -1;
System.out.println(Integer.toHexString(b & 0xFF)); // Correct conversion: "FF"
Nach dem Login kopieren

Wenn Ihr Byte-Array schließlich ASCII-Zeichen anstelle von Rohbytes enthält, können Sie den neuen String(bytes, „US- ASCII")-Konstruktor zum direkten Erstellen einer String-Darstellung.

Das obige ist der detaillierte Inhalt vonWie konvertiert man ein Byte-Array in Java in ein Hexadezimal-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage