Maison > Article > développement back-end > Comment convertir des données en chaîne hexadécimale en php
3 méthodes de conversion : 1. Utilisez la fonction dechex() pour convertir des nombres décimaux en chaînes hexadécimales, la syntaxe est "dechex (valeur de données spécifiée) ;". 2. Utilisez la fonction base_convert() pour convertir n'importe quelle valeur de base en chaîne hexadécimale. La syntaxe est "base_convert(data value, original base, 16);". 3. Utilisez la fonction bin2hex() pour convertir une chaîne de caractères ASCII en chaîne hexadécimale, avec la syntaxe "bin2hex (valeur de données)".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3
En php, il existe deux situations pour convertir des données en chaînes hexadécimales :
Convertir autre Convertir hexadécimal données en chaîne hexadécimale
Convertir une chaîne de caractères ASCII en chaîne hexadécimale
Différentes fonctions sont utilisées dans différentes situations.
Cas 1 : Convertir d'autres données de base en chaînes hexadécimales
PHP fournit deux fonctions de conversion :
fonction dechex()
fonction base_convert()
1.déx( ) function conversion
dechex() convertit les nombres décimaux en nombres hexadécimaux.
dechex(number);
Valeur de retour : une chaîne contenant un nombre hexadécimal avec une valeur décimale.
Exemple :
<?php echo dechex("30") . "<br>"; echo dechex("10") . "<br>"; echo dechex("1587") . "<br>"; echo dechex("70"); ?>
Description :
hexdec() Convertit une chaîne hexadécimale en nombre décimal. La valeur maximale pouvant être convertie est 7ffffffff, soit 2147483647 en décimal. À partir de PHP 4.1.0, cette fonction peut gérer de grands nombres, auquel cas elle renvoie un type float.
hexdec() Remplace tous les caractères non hexadécimaux rencontrés par 0. De cette façon, tous les zéros de gauche sont ignorés, mais les zéros de droite sont inclus dans la valeur.
2. Conversion de la fonction base_convert()
La fonction base_convert() convertit les nombres entre des bases arbitraires.
base_convert(number,frombase,tobase);
paramètre | description |
---|---|
numéro | obligatoire. Spécifie le nombre à convertir. |
frombase | Obligatoire. Spécifie la base d'origine du numéro. Entre 2 et 36 (inclus). Les nombres au-dessus de la décimale sont représentés par les lettres a à z, telles que a pour 10, b pour 11 et z pour 35. |
tobase | Obligatoire. Spécifie la base à convertir. Entre 2 et 36 (inclus). Les nombres au-dessus de la décimale sont représentés par les lettres a à z, telles que a pour 10, b pour 11 et z pour 35. |
Lorsque la valeur du paramètre tobase
est 16, d'autres nombres de base peuvent être convertis en nombres hexadécimaux.
Exemple :
<?php echo base_convert("30", 10, 16) . "<br>"; echo base_convert("364", 8, 16) . "<br>"; ?>
Explication : La fonction
base_convert() peut également convertir l'hexadécimal en d'autres bases. Dans ce cas, la valeur du paramètre frombase doit être une valeur fixe de 16.
Exemple 16 à 10 :
<?php echo base_convert("1e", 16, 10) . "<br>"; echo base_convert("a", 16, 10) . "<br>"; echo base_convert("11ff", 16, 10) . "<br>"; echo base_convert("cceeff", 16, 10); ?>
Si vous souhaitez simplement convertir 16 en 10, il existe une fonction plus pratique hexdec()
hexdec() pour convertir une chaîne hexadécimale en nombre décimal. La valeur maximale pouvant être convertie est 7ffffffff, soit 2147483647 en décimal. À partir de PHP 4.1.0, cette fonction peut gérer de grands nombres, auquel cas elle renvoie un type float.
hexdec() Remplace tous les caractères non hexadécimaux rencontrés par 0. De cette façon, tous les zéros de gauche sont ignorés, mais les zéros de droite sont inclus dans la valeur.
<?php echo hexdec("1e") . "<br>"; echo hexdec("a") . "<br>"; echo hexdec("11ff") . "<br>"; echo hexdec("cceeff"); ?>
Cas 2 : Convertir une chaîne de caractères ASCII en chaîne hexadécimale
La fonction bin2hex() convertit la chaîne de caractères ASCII en valeur hexadécimale.
bin2hex(string)
Valeur de retour : renvoie la valeur hexadécimale de la chaîne à convertir.
<?php echo bin2hex("Hello!")."<br>"; echo bin2hex("123")."<br>"; echo bin2hex("10")."<br>"; ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!