pack

pack -- empaqueta datos en una cadena binaria

Descripción

string pack ( string format [, mixed args])

Empaqueta los argumentos dados en una cadena binaria siguiendo el formato format . Devuelve la cadena binaria que contiene los datos .

El concepto de esta función fue tomado de Perl y todos los códigos de formateo realizan la misma función . La cadena de formato consiste en códigos de formato seguidos por un argumento opcional de repetición . El argumento de repetición puede ser un valor entero o * para repetir hasta el fin de la entrada de datos . Para a , A , h , H la cuenta de repetición representa cuántos caracteres se toman de un argumento de datos , para @ es la posición absoluta donde poner los datos siguientes , para todo lo demás la cuenta de repetición especifica cuántos argumentos de datos se toman y empaquetan en la cadena binaria resultante . Actualmente están implementados :

Ejemplo 1 . cadena de formato para pack

 
$binarydata

 
=

 
pack(

 
"nvc*"

 
,

 
0x1234

 
,

 
0x5678

 
,

 
65

 
,

 
66)

 
;



La cadena binaria resultante tendrá 6 bytes de longitud y contendrá la secuencia de bytes 0x12 , 0x34 , 0x78 , 0x56 , 0x41 , 0x42 .



Adviértase que la distinción entre valores signed ( con signo ) y unsigned (sin signo ) sólo afecta a la función unpack( ) , ya que la función pack( ) da el mismo resultado para códigos de formato con signo y sin signo .

Nótese también que internamente PHP almacena valores enteros como valores con signo de un tamaño dependiente de la máquina . Si le da un valor entero sin signo demasiado grande para ser almacenado , será convertido a un double ( doble ) , lo que a menudo produce resultados no deseados .