PHP unpack()Funciones

PHP Misc 参考手册Manual de referencia PHP Misc

Ejemplos

Desempaquetar datos de una cadena binaria:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>

Ejecutar ejemplo »

Definición y uso

La función unpack() desempaqueta datos de una cadena binaria.


Sintaxis

unpack(format,data)

Parámetros Descripción
format Necesario. Especifica el formato utilizado al desempaquetar los datos.

Valores posibles:

  • a - Cadena rellenada con NUL
  • A - Cadena rellenada con espacios
  • h - Cadena hexadecimal, nibble bajo primero
  • H - Cadena hexadecimal, nibble alto primero
  • c - signed char
  • C - unsigned char
  • s - short con signo (siempre 16 bits, orden de bytes de la máquina)
  • S - short sin signo (siempre 16 bits, orden de bytes de la máquina)
  • n - short sin signo (siempre 16 bits, orden de bytes big endian)
  • v - short sin signo (siempre 16 bits, orden de bytes little endian)
  • i - entero con signo (depende del tamaño y orden de bytes de la máquina)
  • I - entero sin signo (depende del tamaño y orden de bytes de la máquina)
  • l - long con signo (siempre 32 bits, orden de bytes de la máquina)
  • L - long sin signo (siempre 32 bits, orden de bytes de la máquina)
  • N - long sin signo (siempre 32 bits, orden de bytes big endian)
  • V - long sin signo (siempre 32 bits, orden de bytes little endian)
  • f - float (depende del tamaño y representación de la máquina)
  • d - double (depende del tamaño y representación de la máquina)
  • x - Byte NUL
  • X - Retrocede un byte
  • Z - Cadena rellenada con NUL
  • @ - Posición absoluta rellenada con NUL
data Necesario. Especifica los datos binarios que se van a desempaquetar.

Detalles técnicos

Valor de retorno: Devuelve un array en caso de éxito, o FALSE en caso de error.
Versión de PHP: 4+
Registro de cambios: A partir de PHP 5.5.0, se realizaron los siguientes cambios para la compatibilidad con Perl:

El código "a" conserva los bytes NULL finales.
El código "A" elimina todos los espacios en blanco ASCII finales.
Se añadió el código "Z" para cadenas rellenadas con NUL, y elimina los bytes NULL finales.


Más ejemplos

Ejemplo 1

Desempaquetar los datos:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

Ejecutar ejemplo »

Ejemplo 2

Desempaquetar los datos:

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

Ejecutar ejemplo »


PHP Misc 参考手册Manual de referencia PHP Misc Otras extensiones