2009-06-12 8 views

Respuesta

21

Aquellos representan cómo desea los datos que se está embalando a ser representados en formato binario:

por lo

$bin = pack("v", 1); => 0000000000000001 (16 bits)

donde

$bin = pack("V", 1) => 00000000000000000000000000000001 (32 bits)

Le dice al paquete cómo desea los datos representados en los datos binarios. El siguiente código lo demostrará. Tenga en cuenta que puede descomprimir con un formato diferente de desde el que empaquetó los datos.

<?php 

$bin = pack("S", 65535); 
$ray = unpack("S", $bin); 
echo "UNSIGNED SHORT VAL = ", $ray[1], "\n"; 

$bin = pack("S", 65536); 
$ray = unpack("S", $bin); 
echo "OVERFLOW USHORT VAL = ", $ray[1], "\n"; 

$bin = pack("V", 65536); 
$ray = unpack("V", $bin); 
echo "SAME AS ABOVE BUT WITH ULONG VAL = ", $ray[1], "\n"; 
?> 
10

Como se indica en la documentación de php para el paquete, la función se toma prestada de la función de paquete de Perl.

Eche un vistazo a Perl's documentation for pack, específicamente la sección de ejemplos en la parte inferior de la página. El paquete de PHP no implementa todos los formatos, pero la documentación de Perl para la función hace un mejor trabajo al proporcionar ejemplos y explicar cada formato.

Cuestiones relacionadas