pack

pack -- Compacte des données dans une chaîne binaire

Description

string pack ( string format [, mixed args])

pack( ) compacte les arguments dans une chaîne binaire , suivant le format format . pack( ) retourne la chaîne binaire .

L' idée vient du Perl et tout le formatage fonctionne de la même façon qu'en Perl , mais quelques formats manquent encore (comme , "u " ) . La chaîne de format est composée d ' une série de codes de formats , suivis par un quantificateur optionnel . Le quantificateur peut être un entier , ou * pour la répétition indéfinie . Pour les formats a , A , h et H , le quantificateur spécifie combien de caractères d' un argument sont pris ; pour @ , c'est la position absolue placer les données , et pour le reste , c 'est le nombre de répétitions . Actuellement , les formats suivants sont implémentés :

Exemple 1 . Compactage d ' une chaîne

 
?php

 
$binarydata

 
=

 
pack

 
(

 
"nvc*"

 
,

 
0x1234

 
,

 
0x5678

 
,

 
65

 
,

 
66)

 
;

 
?



La chaîne binaire résultante aura 6 octets de long , et contiendra la séquence 0x12 , 0x34 , 0x78 , 0x56 , 0x41 , 0x42 .



Notez que la distinction entre signé et non signé n' affecte que la fonction unpack( ) , tandis que la fonction pack( ) fournira le même résultat pour les deux formats .

De plus , notez que PHP enregistre de manière interne et intégrale les valeurs : cette représentation dépend de la machine . Si vous essayez d' enregistrer une valeur trop grande , elle risque d 'être convertie et de donner lieu à des effets de bords vicieux .