Desempaquetar datos de una cadena binaria:
<?php$datos = "PHP";print_r(unpack("C*",$datos));?>La función unpack() descomprime datos de una cadena binaria.
descomprimir (formato, datos)
parámetro | describir |
---|---|
formato | Requerido. Especifica el formato utilizado al descomprimir datos. Valores posibles: a - una cadena acolchada NUL A - Cadena llena de ESPACIO h - Cadena hexadecimal, bit de orden inferior primero H: cadena hexadecimal, el bit de orden superior primero c - carácter firmado C - carácter sin firmar s - corto con signo (siempre 16 bits, orden de bytes de la máquina) S: corto sin firmar (siempre 16 bits, orden de bytes de la máquina) n - corto sin firmar (siempre 16 bits, orden de bytes big endian) v - corto sin firmar (siempre 16 bits, orden de bytes little endian) i - entero con signo (depende del tamaño de la máquina y del orden de los bytes) I: entero sin signo (depende del tamaño de la máquina y del orden de los bytes) l - largo con signo (siempre 32 bits, orden de bytes de la máquina) L - largo sin signo (siempre 32 bits, orden de bytes de la máquina) N - largo sin firmar (siempre 32 bits, orden de bytes big endian) V: largo sin firmar (siempre 32 bits, orden de bytes little endian) f - flotante (depende del tamaño y la representación de la máquina) d - doble (depende del tamaño y la representación de la máquina) x - byte nulo X - Copia de seguridad de un byte Z - Cordón acolchado NUL @ - NUL llena la posición absoluta |
datos | Requerido. Especifica los datos binarios que se descomprimirán. |
Valor de retorno: | Devuelve una matriz si tiene éxito o FALSO si falla. |
---|---|
Versión PHP: | 4+ |
Registro de actualización: | A partir de PHP 5.5.0, se han realizado los siguientes cambios para la compatibilidad con Perl: el código "a" conserva el byte NULL final. El código "A" elimina todos los espacios en blanco ASCII finales. Se agregó código "Z" para cadenas rellenadas con NUL y elimina los bytes NULL finales. |
Descomprimir los datos:
<?php$datos = "PHP";print_r(unpack("C*myint",$datos));?>Descomprimir los datos:
<?php$bin = pack("c2n2",0x1234,0x5678,65,66);print_r(unpack("c2chars/n2int",$bin));?>