Maison  >  Article  >  développement back-end  >  php convertir la chaîne en hexadécimal

php convertir la chaîne en hexadécimal

WBOY
WBOYoriginal
2023-05-24 17:59:082403parcourir

Dans le domaine du développement web, il est souvent nécessaire d'encoder et de décoder des données. Parmi eux, la conversion de chaînes en hexadécimal est une exigence courante. Par exemple, lors du cryptage, de la transmission ou du stockage de données, les données doivent être converties au format hexadécimal. En PHP, il est également très pratique de convertir en fonctions. Introduisons la méthode d'implémentation spécifique.

1. Utilisez la fonction bin2hex()

PHP fournit la fonction bin2hex(), grâce à laquelle les données binaires peuvent être converties en chaîne hexadécimale. Puisque les chaînes sont essentiellement des données binaires, nous pouvons d'abord convertir la chaîne qui doit être convertie au format binaire, puis utiliser la fonction bin2hex() pour convertir la chaîne en hexadécimal. Le code spécifique est le suivant :

$str = 'hello world';
$hex_str = bin2hex($str); 
echo $hex_str;
#. 🎜🎜#Dans le code ci-dessus, la chaîne "hello world" est convertie en chaîne binaire, puis convertie en chaîne hexadécimale via la fonction bin2hex(). Le résultat final est :

68656c6c6f20776f726c64

Ce résultat semble étrange, mais il s'agit en fait de la représentation hexadécimale de "hello world". Tous les deux caractères correspondent à un octet, ce qui facilite le traitement et la transmission ultérieurs.

2. Fonction personnalisée pour convertir une chaîne en hexadécimal

En plus d'utiliser des fonctions intégrées, nous pouvons également utiliser des fonctions personnalisées pour convertir des chaînes en système hexadécimal. Un code d'implémentation simple est fourni ci-dessous :

function str2hex($str) {
    $hex='';
    for ($i=0; $i<strlen($str); $i++) {
        $ord=ord($str[$i]);
        $hexCode=dechex($ord);
        $hex .= substr('0'.$hexCode, -2);
    }
    return $hex;
}

$str = 'hello world';
$hex_str = str2hex($str);
echo $hex_str;

Dans le code ci-dessus, nous définissons d'abord une fonction personnalisée str2hex(), qui peut convertir une chaîne au format hexadécimal. Le principe spécifique d'implémentation est le suivant :

    Parcourez la chaîne et utilisez la fonction ord() pour convertir chaque caractère en code ASCII.
  1. Convertissez le code ASCII au format hexadécimal à l'aide de la fonction dechex().
  2. Lorsque le chiffre hexadécimal actuellement obtenu est inférieur à deux chiffres, ajoutez des zéros devant.
  3. Épissez le format hexadécimal de chaque caractère pour enfin obtenir le format hexadécimal de la chaîne entière.
Les résultats de sortie sont les mêmes que ceux utilisant la fonction intégrée bin2hex(), les deux sont :

68656c6c6f20776f726c64

Summary

#🎜🎜 #En PHP, il existe deux manières principales de convertir une chaîne au format hexadécimal : en utilisant la fonction intégrée bin2hex() ou une fonction personnalisée. Parmi elles, il est plus facile d'utiliser les fonctions intégrées, mais les fonctions personnalisées ont une plus grande flexibilité et peuvent effectuer des calculs et des conversions plus personnalisés. Les développeurs peuvent choisir une méthode appropriée à mettre en œuvre en fonction de leurs besoins réels.

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