Heim  >  Artikel  >  Java  >  Wie konvertiere ich ein Java-Byte-Array in einen String und zurück?

Wie konvertiere ich ein Java-Byte-Array in einen String und zurück?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-10 03:36:021025Durchsuche

How to Convert a Java Byte Array to a String and Back?

Java-Byte-Array in String und zurück in Byte-Array

In Java ist das Konvertieren eines Byte-Arrays in einen String eine häufige Aufgabe. Es ist jedoch wichtig zu verstehen, dass dies zwei Vorgänge umfasst: die Konvertierung eines Byte-Arrays in eine String-Darstellung und dann zurück in ein Byte-Array. Dieser Artikel soll diesen Prozess verdeutlichen.

Konvertierung von Byte-Array in String

Die Methode Arrays.toString() wird häufig verwendet, um eine String-Darstellung eines Bytes zu erhalten Array. Wenn wir beispielsweise ein Byte-Array mit den Werten [-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97] würde der Aufruf von Arrays.toString(data.toByteArray()) Folgendes ergeben:

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

Diese Zeichenfolgendarstellung kann über ein Netzwerk gesendet oder in einer Datenbank gespeichert werden.

Konvertierung von String zurück in Byte-Array

Wenn die String-Darstellung auf der Empfängerseite empfangen wird, ist es notwendig, sie zurück in ein Byte-Array zu konvertieren. Dazu gehört das Parsen der Zeichenfolge und die Rekonstruktion des Byte-Arrays.

Eine Möglichkeit, dies zu erreichen, ist die Verwendung der byteValues()-Methode, die eine Zeichenfolge wie „[-47, 1, 16, 84, 2, 101“ akzeptiert , 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]“ und gibt ein Array von Zeichenfolgen zurück:

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

Jedes Element in diesem Das Array stellt einen Bytewert dar. Um dies wieder in ein Byte-Array umzuwandeln, können Sie eine Schleife verwenden, um die Zeichenfolgen zu durchlaufen, sie in Bytes zu analysieren und sie in einem neuen Byte-Array zu speichern.

Beispielcode

Das folgende Python-Skript veranschaulicht die serverseitige Verarbeitung der vom Client empfangenen Daten:

response = "[-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]"      # Placeholder response from the client

byte_values = response.substring(1, response.length() - 1).split(",")
# Convert the string values to bytes
bytes = bytearray([int(byte_value.strip()) for byte_value in byte_values])

# Send the bytes back to the client

Hinweis:

Denken Sie daran, wenn Arrays. toString() konvertiert ein Byte-Array in einen String, dabei gehen die ursprünglichen Datentypinformationen verloren. Um die Zeichenfolge korrekt wieder in ein Byte-Array umzuwandeln, müssen Sie daher die Zeichenfolge sorgfältig analysieren und das Byte-Array mithilfe der entsprechenden Methoden manuell rekonstruieren.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein Java-Byte-Array in einen String und zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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