Maison >Java >javaDidacticiel >Comment convertir des chaînes vers et depuis l'hexadécimal en Java ?

Comment convertir des chaînes vers et depuis l'hexadécimal en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-24 17:24:29192parcourir

How to Convert Strings to and from Hexadecimal in Java?

Conversion de chaînes en hexadécimal en Java

La conversion d'une chaîne en hexadécimal en Java est une tâche simple qui peut être accomplie à l'aide du String.format () méthode. Voici comment procéder :

public String toHex(String arg) {
    return String.format("%040x", new BigInteger(1, arg.getBytes(/*YOUR_CHARSET?*/)));
}

Dans ce code, la ligne BigInteger(1, arg.getBytes()) convertit la chaîne en un objet BigInteger, qui représente un entier non négatif de précision arbitraire . L'argument 1 spécifie que l'entier est représenté dans l'ordre des octets petit-boutien.

La ligne String.format(" 0x") formate ensuite l'objet BigInteger sous forme de chaîne hexadécimale. Le spécificateur de format 0x spécifie que la chaîne doit être complétée par des zéros jusqu'à une largeur totale de 40 caractères.

Conversion des chaînes hexadécimales en chaînes

Conversion d'une chaîne hexadécimale le retour à une chaîne est similaire au processus de conversion décrit ci-dessus, mais en sens inverse. Voici comment procéder :

public String fromHex(String hex) {
    byte[] bytes = new BigInteger(hex, 16).toByteArray();
    return new String(bytes, /*YOUR_CHARSET?*/);
}

Dans ce code, la nouvelle ligne BigInteger(hex, 16) convertit la chaîne hexadécimale en un objet BigInteger. L'argument 16 précise que la chaîne est représentée au format hexadécimal.

La méthode toByteArray() convertit l'objet BigInteger en un tableau d'octets.

Enfin, la nouvelle ligne String(bytes) convertit le tableau d'octets en une chaîne en utilisant le jeu de caractères spécifié.

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