Maison >Java >javaDidacticiel >Comment convertir une chaîne en hexadécimal et inversement en Java ?

Comment convertir une chaîne en hexadécimal et inversement en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-07 21:17:15189parcourir

How to Convert a String to Hexadecimal and Back in Java?

Conversion d'une chaîne en hexadécimal en Java

Lorsque vous travaillez avec des données binaires ou de la cryptographie, la conversion d'une chaîne en sa représentation hexadécimale devient essentielle. En Java, ce processus de conversion peut être effectué à l'aide de la classe String et de la classe BigInteger.

Pour convertir une chaîne en hexadécimal, vous pouvez suivre les étapes suivantes :

  1. Convertissez la chaîne en un tableau d'octets à l'aide de la méthode getBytes() :

    byte[] bytes = myString.getBytes(/*YOUR_CHARSET?*/);
  2. Utilisez le Constructeur BigInteger pour créer un nouvel objet BigInteger à partir du tableau d'octets :

    BigInteger bi = new BigInteger(1, bytes);
  3. Utilisez la méthode format() de la classe String pour formater l'objet BigInteger sous forme de chaîne hexadécimale :

    String hexString = String.format("%040x", bi);

La hexString résultante sera une chaîne de 40 caractères représentation hexadécimale de la chaîne d'origine.

Conversion d'une chaîne hexadécimale en chaîne

Le processus de conversion d'une chaîne hexadécimale en chaîne est similaire au processus ci-dessus , mais à l'envers.

  1. Convertissez la chaîne hexadécimale en Objet BigInteger utilisant le constructeur BigInteger :

    BigInteger bi = new BigInteger(hexString, 16);
  2. Utilisez la méthode getBytes() de la classe BigInteger pour convertir l'objet BigInteger en un tableau d'octets :

    byte[] bytes = bi.getBytes();
  3. Utilisez le constructeur String pour créer un nouvel objet String à partir de l'octet array:

    String myString = new String(bytes);

La myString résultante sera la chaîne d'origine qui a été convertie en hexadécimal.

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