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