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

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

Linda Hamilton
Linda Hamiltonoriginal
2024-11-12 16:27:02265parcourir

How to convert a byte array to a String and back to a byte array in Java?

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

Supposons que vous ayez un tableau initial d'octets[] et que vous deviez le convertir en une représentation sous forme de chaîne. Par la suite, vous souhaitez reconvertir cette chaîne en un tableau byte[]. Cette conversion est essentielle pour la transmission et le traitement des données dans divers scénarios.

Pour convertir un tableau byte[] en chaîne, vous pouvez utiliser la méthode Arrays.toString(). Cette méthode renvoie une chaîne qui représente le contenu du tableau byte[]. Cependant, il est important de noter que cette chaîne n'est plus un tableau byte[]. Il s'agit d'une représentation sous forme de chaîne du tableau byte[].

Après avoir envoyé la chaîne par fil, l'extrémité réceptrice tente de reconvertir la chaîne reçue en un tableau byte[]. Voici le défi : la chaîne n'est plus un tableau d'octets[] ; c'est une chaîne avec un format spécifique.

Pour reconvertir la chaîne reçue en un tableau d'octets[], vous pouvez utiliser l'approche suivante :

  1. Analyser la chaîne : Lire la chaîne caractère par caractère et extraire la valeur numérique de chacun octet.
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(",");
  1. Créer un tableau d'octets : Allouez un nouveau tableau d'octets[] avec la longueur appropriée.
byte[] bytes = new byte[byteValues.length];
  1. Attribuer des valeurs d'octet : Parcourez chaque valeur d'octet analysée et attribuez-le à l'élément correspondant dans le tableau byte[].
for (int i = 0, len = bytes.length; i < len; i++) {
    bytes[i] = Byte.parseByte(byteValues[i].trim());
}
  1. Retour du tableau d'octets : Le tableau d'octets contient les données d'octets d'origine.

En suivant cette approche, vous pouvez convertir efficacement un tableau d'octets[] en chaîne, l'envoyer par câble, puis le reconvertir en un tableau byte[] du côté réception. Cette conversion est essentielle pour la manipulation et la communication des données, garantissant que vous pouvez travailler avec des tableaux d'octets[] tout au long du flux de travail tout en préservant l'intégrité des donné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