PHP unpack()Fonctions

PHP Misc 参考手册Manuel de référence PHP Divers

Exemples

Décompacter les données d'une chaîne binaire :

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

Exécuter l'exemple »

Définition et utilisation

La fonction unpack() décompacte les données d'une chaîne binaire.


Syntaxe

unpack(format,data)

Parameters Description
format Obligatoire. Spécifie le format à utiliser lors du décompactage des données.

Valeurs possibles :

  • a - chaîne complétée par des NUL
  • A - chaîne complétée par des espaces
  • h - Chaîne hexadécimale, quartet de poids faible en premier
  • H - Chaîne hexadécimale, quartet de poids fort en premier
  • c - char signé
  • C - char non signé
  • s - short signé (toujours 16 bits, ordre des octets de la machine)
  • S - short non signé (toujours 16 bits, ordre des octets de la machine)
  • n - short non signé (toujours 16 bits, ordre des octets gros-boutiste)
  • v - short non signé (toujours 16 bits, ordre des octets petit-boutiste)
  • i - entier signé (dépend de la taille de la machine et de l'ordre des octets)
  • I - entier non signé (dépend de la taille de la machine et de l'ordre des octets)
  • l - long signé (toujours 32 bits, ordre des octets de la machine)
  • L - long non signé (toujours 32 bits, ordre des octets de la machine)
  • N - long non signé (toujours 32 bits, ordre des octets gros-boutiste)
  • V - long non signé (toujours 32 bits, ordre des octets petit-boutiste)
  • f - float (dépend de la taille et de la représentation de la machine)
  • d - double (dépend de la taille et de la représentation de la machine)
  • x - octet NUL
  • X - Reculer d'un octet
  • Z - chaîne complétée par des NUL
  • @ - remplir de NUL jusqu'à la position absolue
data Obligatoire. Spécifie les données binaires à déballer.

Détails techniques

Valeur de retour : Retourne un tableau en cas de succès, ou FALSE en cas d'échec.
Version de PHP : 4+
Journal des modifications : À partir de PHP 5.5.0, les modifications suivantes ont été apportées pour la compatibilité avec Perl :

Le code "a" conserve les octets NULL de fin.
Le code "A" supprime tous les caractères d'espacement ASCII de fin.
Ajout du code "Z" pour les chaînes complétées par des NUL, qui supprime les octets NULL de fin.


Plus d’exemples

Exemple 1

Déballer les données :

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

Exécuter l'exemple »

Exemple 2

Déballer les données :

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

Exécuter l'exemple »


PHP Misc 参考手册Manuel de référence PHP divers Autres extensions