Heim > Java > javaLernprogramm > Wie kann ich in Java Byte-Arrays in Strings und umgekehrt konvertieren?

Wie kann ich in Java Byte-Arrays in Strings und umgekehrt konvertieren?

Susan Sarandon
Freigeben: 2024-11-09 05:19:02
Original
756 Leute haben es durchsucht

How can I convert byte arrays to strings and vice versa in Java?

Byte-Array-Konvertierung

Java bietet verschiedene Methoden zum Konvertieren von Byte-Arrays in Strings und umgekehrt. Diese Konvertierung ist für die Datenübertragung und -manipulation von entscheidender Bedeutung. Ein häufiges Szenario besteht darin, Byte-Daten über ein Netzwerk zu senden und auf der Empfängerseite zu rekonstruieren.

Byte-Array in String-Konvertierung

Um ein Byte-Array in einen String zu konvertieren, Die Methode Arrays.toString() kann verwendet werden. Es verwendet ein Array als Eingabe und gibt eine Zeichenfolgendarstellung seiner Elemente in eckigen Klammern zurück. Zum Beispiel:

byte[] data = new byte[] {4, 6, 8, 10};
String dataString = Arrays.toString(data); // prints [-44, 6, 8, 10]
Nach dem Login kopieren

String-zu-Byte-Array-Konvertierung

Diese String-Darstellung kann jedoch nicht direkt zurück in ein Byte-Array konvertiert werden. Um dies zu erreichen, ist es notwendig, die einzelnen Bytewerte aus der Zeichenfolge zu analysieren. Ein Ansatz besteht darin, die String.split()-Methode zu verwenden, um die Bytewerte zu trennen und sie dann mit der Byte.parseByte()-Methode zu analysieren.

String response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]";

String[] byteValues = response.substring(1, response.length() - 1).split(",");
byte[] bytes = new byte[byteValues.length];

for (int i = 0, len = bytes.length; i < len; i++) {
    bytes[i] = Byte.parseByte(byteValues[i].trim());
}
Nach dem Login kopieren

Alternative Lösungen

Alternativ kann die ByteBuffer-Klasse verwendet werden, um Byte-Array-Konvertierungen effizient durchzuführen. Es bietet Methoden wie wrap() zum Erstellen eines Puffers aus einem Byte-Array und array() zum Abrufen des zugrunde liegenden Byte-Arrays aus einem Puffer.

byte[] data = new byte[] {4, 6, 8, 10};

ByteBuffer buffer = ByteBuffer.wrap(data);
byte[] dataCopy = buffer.array(); // returns a copy of the original byte array
Nach dem Login kopieren

Hinweis: Der Arrays.toString ()-Methode kann auch mit primitiven Arrays wie int, double und long verwendet werden, um eine String-Darstellung ihrer Elemente zu generieren. Die Konvertierung zurück in ein Array primitiver Typen erfordert jedoch zusätzliche Parsing-Mechanismen, die sprachspezifisch sind und je nach Typ variieren.

Das obige ist der detaillierte Inhalt vonWie kann ich in Java Byte-Arrays in Strings und umgekehrt konvertieren?. 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