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!