UNPACK |
Décompacte |
---|---|
PHP 4+ |
Syntaxe
function unpack($format,$data); |
Paramètres
Nom | Description | |
---|---|---|
$format | Ce paramètre permet d'indiquer le format du texte à traiter. Il est a noter que un ou plusieurs des spécificateurs suivants peuvent être inclus dans le format : | |
Spécificateur | Description | |
* | Ce spécificateur indique le quantificateur | |
@ | Ce spécificateur indique d'insérer des codes NUL jusqu'à la position absolue dans la chaîne de caractères | |
a | Ce spécificateur permet d'indiquer de terminer la chaîne de caractères avec des codes NULL | |
A | Ce spécificateur indique de terminer la chaîne de caractères avec un espace | |
c | Ce spécificateur indique d'insérer un caractère selon un format entier dans la chaîne de caractères | |
C | Ce spécificateur indique d'insérer un caractère selon un format naturel dans la chaîne de caractères | |
d | Ce spécificateur indique d'insérer un nombre réel de double précision dans la chaîne de caractères | |
f | Ce spécificateur indique d'insérer un nombre réel de simple précision dans la chaîne de caractères | |
h | Ce spécificateur indique d'insérer un code hexadécimal avec le poids faible en premier dans la chaîne de caractères | |
H | Ce spécificateur indique d'insérer un code hexadécimal avec le poids fort en premier dans la chaîne de caractères | |
i | Ce spécificateur indique d'insérer un nombre entier dans la chaîne de caractères | |
I | Ce spécificateur indique d'insérer un nombre naturel dans la chaîne de caractères | |
l | Ce spécificateur indique d'insérer un nombre entier long dans la chaîne de caractères | |
L | Ce spécificateur indique d'insérer un nombre naturel long dans la chaîne de caractères | |
N | Ce spécificateur indique d'insérer un nombre naturel long (32 bits d'ordre Big-Endian) dans la chaîne de caractères | |
n | Ce spécificateur indique d'insérer un nombre de format naturel court (16 bits d'ordre Big-Endian) dans la chaîne de caractères | |
s | Ce spécificateur indique d'insérer un nombre de format entier court (16 bits) dans la chaîne de caractères | |
S | Ce spécificateur indique d'insérer un nombre de format naturel court (16 bits) dans la chaîne de caractères | |
v | Ce spécificateur indique d'insérer un nombre de format naturel court (16 bits d'ordre Little-Endian) dans la chaîne de caractères | |
V | Ce spécificateur indique d'insérer un nombre naturel long (32 bits d'ordre Little-Endian) dans la chaîne de caractères | |
x | Ce spécificateur indique d'insérer un caractère NUL dans la chaîne de caractères | |
X | Ce spécificateur indique d'insérer un caractère de «retour en arrière» dans la chaîne de caractères | |
$data | Ce paramètres permettent d'indiquer les données à décompacter |
Retour
Valeur | Description |
---|---|
tableau | Cette valeur permet d'indiquer les arguments décompacté. |
Description
Cette fonction permet de résoudre des données binaires précédemment créer par «pack».
Exemple
L'exemple suivant permet de sortir les caractères spéciaux en leurs valeurs hexadécimales :
- <?php
- function StringSpecialCode($str) {
- $data = unpack('H*', $str);
- $data = $data[1];
- $result = '';
- for($i = 0; $i < strlen($data); $i += 2) {
- $ascii = hexdec($data[$i].$data[$i + 1]);
- $result .= (($ascii >= 32) && ($ascii <= 126))?chr($ascii):'\x' . $data[$i] . $data[$i+1];
- }
- return $result;
- }
-
- echo StringSpecialCode("Montr\xe9al, Fran\xe7ais et anglais");
- ?>
on obtiendra le résultat suivant :
Montr\xe9al, Fran\xe7ais et anglais
Dernière mise à jour : Dimanche, le 5 avril 2015