Comment convertir des données hexadécimales en tableau en php

PHPz
Libérer: 2023-04-26 10:09:24
original
736 Les gens l'ont consulté

PHP est un puissant langage de script côté serveur largement utilisé dans le développement Web. Dans le processus de développement de PHP, nous devons souvent nous occuper de la conversion et du traitement des données. Cet article explique comment convertir des données hexadécimales en tableau.

Tout d’abord, nous devons comprendre ce qu’est l’hexadécimal. En termes simples, l'hexadécimal est un système numérique qui utilise 16 nombres pour représenter des valeurs, à savoir 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C et D. , E et F. . Parmi eux, A~F représentent respectivement 10~15.

En PHP, nous pouvons utiliser la fonction hex2bin() pour convertir l'hexadécimal en chaîne. Par exemple, le code suivant convertit la chaîne hexadécimale « 48656C6C6F20576F726C64 » en chaîne « Hello World » :

echo hex2bin("48656C6C6F20576F726C64");
Copier après la connexion

Ensuite, nous devons convertir la chaîne en tableau. Nous pouvons utiliser la fonction str_split() pour diviser la chaîne en caractères individuels, puis utiliser la fonction ord() pour convertir les caractères en code ASCII. Par exemple, le code suivant divise la chaîne « Hello World » en un tableau d'entiers :

$str = "Hello World";
$chars = str_split($str);
$nums = array();
foreach ($chars as $char) {
    $nums[] = ord($char);
}
print_r($nums);
Copier après la connexion

Le résultat est :

Array
(
    [0] => 72
    [1] => 101
    [2] => 108
    [3] => 108
    [4] => 111
    [5] => 32
    [6] => 87
    [7] => 111
    [8] => 114
    [9] => 108
    [10] => 100
)
Copier après la connexion
Copier après la connexion

Si nous avons converti la chaîne hexadécimale en chaîne, nous pouvons combiner les deux extraits de code ci-dessus. Par exemple, le code suivant convertit la chaîne hexadécimale « 48656C6C6F20576F726C64 » en un tableau d'entiers :

$hex_str = "48656C6C6F20576F726C64";
$str = hex2bin($hex_str);
$chars = str_split($str);
$nums = array();
foreach ($chars as $char) {
    $nums[] = ord($char);
}
print_r($nums);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [0] => 72
    [1] => 101
    [2] => 108
    [3] => 108
    [4] => 111
    [5] => 32
    [6] => 87
    [7] => 111
    [8] => 114
    [9] => 108
    [10] => 100
)
Copier après la connexion
Copier après la connexion

En plus d'utiliser la méthode ci-dessus, nous pouvons également utiliser la fonction unpack(). La fonction unpack() peut décompresser une chaîne en plusieurs valeurs, renvoyant un tableau associatif ou un tableau indexé numériquement. Nous pouvons utiliser le caractère de formatage H*, ce qui signifie convertir une chaîne hexadécimale en nombre hexadécimal et la conditionner dans une chaîne binaire. Par exemple, le code suivant convertit la chaîne hexadécimale "48656C6C6F20576F726C64" en un tableau d'entiers :

$hex_str = "48656C6C6F20576F726C64";
$bin_str = pack("H*", $hex_str);
$nums = unpack("C*", $bin_str);
print_r($nums);
Copier après la connexion

Le résultat de sortie est :

Array
(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)
Copier après la connexion

L'utilisation de la fonction unpack() est plus concise et efficace, mais il convient de noter que la fonction unpack( ) fonction L'astérisque (*) dans le nom de la fonction signifie le déballage de tous les éléments, pas de n'importe quel format.

Résumé : cet article explique comment convertir des données hexadécimales en tableau. Nous pouvons utiliser la fonction hex2bin() pour convertir l'hexadécimal en chaîne, puis utiliser la fonction str_split() pour la diviser en caractères individuels, et enfin utiliser la fonction ord() pour convertir les caractères en codes ASCII. En plus de cela, nous pouvons également utiliser la fonction unpack() pour réaliser une conversion plus efficace. Ces méthodes seront très utiles dans le développement réel.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!