Maison > Article > développement back-end > Comment convertir des données binaires en tableau d'octets en php
En développement, nous devons souvent transmettre des données sous forme binaire. À ce stade, nous devons convertir les données binaires en un tableau d'octets afin que les données puissent être transmises de manière plus stable et efficace pendant le processus de transmission. En PHP, le moyen d'obtenir cette fonction consiste à utiliser la fonction pack et la fonction unpack. Apprenons-les ensemble.
La fonction pack est une fonction d'empaquetage de données binaires en php. Elle peut regrouper les données spécifiées dans une chaîne binaire selon le format spécifié. Parmi eux, les paramètres de chaîne de format sont spécifiés en fonction de l'ordre des octets à compresser, et chaque caractère de format correspond à un type de données. Voici l'utilisation de base de la fonction pack :
string pack ( string $format [, mixed $args [, mixed $... ]] )
Parmi eux, le paramètre $format est la chaîne de format et $args les données qui doivent être compressées.
Ce qui suit est un exemple pour illustrer l'utilisation de la fonction pack :
$binary_str = pack("C*", 67, 119, 105, 107, 105); echo $binary_str;
Dans cet exemple, la chaîne de format "C*" signifie un emballage par caractères, et les paramètres args sont 67, 119, 105, 107, 105. Le résultat de l'exécution est :
Cwiki
C'est-à-dire que la chaîne composée du tableau de caractères 67, 119, 105, 107, 105 est compressée en mode caractère et la chaîne "Cwiki" est renvoyée.
En plus de la méthode des caractères, la fonction pack prend également en charge une variété d'autres méthodes d'emballage, telles que l'entier (I), l'entier long (L), la double précision (d), etc. Voici quelques caractères de format couramment utilisés :
La fonction de décompression est une fonction de décompression de données binaires en php. Elle peut décompresser des chaînes de données binaires dans un type de données spécifié. Comme la fonction pack, nous pouvons décompresser les données binaires en variables représentant différents types de données en spécifiant les paramètres de chaîne de format et les chaînes de données. Voici l'utilisation de base de la fonction de décompression :
array unpack ( string $format , string $data )
Parmi eux, le paramètre $format est la chaîne de format et $data est les données qui doivent être décompressées.
Ce qui suit est un exemple pour illustrer l'utilisation de la fonction unpack :
$binary_str = "Cwiki"; $unpacked = unpack("C*",$binary_str); print_r($unpacked);
Dans cet exemple, $binary_str est la chaîne de données binaires "Cwiki", et le paramètre $format est "C*", ce qui signifie le déballage en caractère mode. Le résultat de l'exécution est :
Array ( [1] => 67 [2] => 119 [3] => 105 [4] => 107 [5] => 105 )
Autrement dit, la chaîne de données binaires "Cwiki" est décompressée en mode caractère et un tableau représentant différents caractères est obtenu.
En plus de la méthode des caractères, la fonction unpack prend également en charge diverses autres méthodes de décompression. La correspondance entre les caractères de format et les caractères de format de la fonction pack est biunivoque.
En résumé, grâce à l'utilisation combinée de la fonction pack et de la fonction unpack, nous pouvons convertir n'importe quelle donnée en une chaîne binaire et décompresser divers types de données de la chaîne binaire, réalisant ainsi la conversion binaire PHP en une fonction de tableau d'octets.
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!