Maison >Java >javaDidacticiel >Comment convertir un tableau d'octets Java en chaîne et inversement ?

Comment convertir un tableau d'octets Java en chaîne et inversement ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-10 03:36:021056parcourir

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

Tableau d'octets Java en chaîne et retour en tableau d'octets

En Java, la conversion d'un tableau d'octets en chaîne est une tâche courante. Cependant, il est crucial de comprendre que cela implique deux opérations : convertir un tableau d'octets en une représentation sous forme de chaîne, puis de nouveau en un tableau d'octets. Cet article vise à clarifier ce processus.

Conversion d'un tableau d'octets en chaîne

La méthode Arrays.toString() est couramment utilisée pour obtenir une représentation sous forme de chaîne d'un octet tableau. Par exemple, si nous avons un tableau d'octets contenant les valeurs [-47, 1, 16, 84, 2, 101, 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97], appeler Arrays.toString(data.toByteArray()) donnerait :

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

Cette représentation sous forme de chaîne peut être envoyée sur un réseau ou stockée dans une base de données.

Conversion de la chaîne en tableau d'octets

Lors de la réception de la représentation sous forme de chaîne à la réception, il est nécessaire de la reconvertir en un tableau d'octets. Cela implique d'analyser la chaîne et de reconstruire le tableau d'octets.

Une façon d'aborder cela consiste à utiliser la méthode byteValues(), qui prend une chaîne comme "[-47, 1, 16, 84, 2, 101 , 110, 83, 111, 109, 101, 32, 78, 70, 67, 32, 68, 97, 116, 97]" et renvoie un tableau de chaînes :

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

Chaque élément de ce Le tableau représente une valeur d'octet. Pour reconvertir cela en un tableau d'octets, vous pouvez utiliser une boucle pour parcourir les chaînes, les analyser en octets et les stocker dans un nouveau tableau d'octets.

Exemple de code

Le script Python suivant illustre la gestion côté serveur des données reçues du client :

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

Remarque :

N'oubliez pas que lorsque Arrays. toString() convertit un tableau d'octets en chaîne, il perd les informations de type de données d'origine. Par conséquent, pour reconvertir correctement la chaîne en un tableau d'octets, vous devez analyser soigneusement la chaîne et reconstruire manuellement le tableau d'octets à l'aide des méthodes appropriées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn