Descompacte os dados de uma string binária:
<?php$dados = "PHP";print_r(unpack("C*",$dados));?>A função unpack() descompacta dados de uma string binária.
descompactar (formato, dados)
parâmetro | descrever |
---|---|
formatar | Obrigatório. Especifica o formato usado ao descompactar dados. Valores possíveis: a - uma string preenchida com NUL A - string preenchida com ESPAÇO h - String hexadecimal, primeiro o bit de ordem inferior H - String hexadecimal, bit de ordem superior primeiro c - caractere assinado C - caractere não assinado s - curto assinado (sempre 16 bits, ordem de bytes da máquina) S - curto não assinado (sempre 16 bits, ordem de bytes da máquina) n - short não assinado (sempre 16 bits, ordem de bytes big endian) v - short não assinado (sempre 16 bits, ordem de bytes little endian) i - inteiro assinado (depende do tamanho da máquina e da ordem dos bytes) I - inteiro sem sinal (depende do tamanho da máquina e da ordem dos bytes) l - assinado longo (sempre 32 bits, ordem de bytes da máquina) L - unsigned long (sempre 32 bits, ordem de bytes da máquina) N - unsigned long (sempre 32 bits, ordem de bytes big endian) V - unsigned long (sempre 32 bits, ordem de bytes little endian) f - float (depende do tamanho e representação da máquina) d - duplo (depende do tamanho e representação da máquina) x - byte NUL X - Faça backup de um byte Z - string acolchoada NUL @ - NUL preenche a posição absoluta |
dados | Obrigatório. Especifica os dados binários a serem descompactados. |
Valor de retorno: | Retorna uma matriz se for bem-sucedida ou FALSE se falhar. |
---|---|
Versão PHP: | 4+ |
Registro de atualização: | A partir do PHP 5.5.0, as seguintes alterações foram feitas para compatibilidade com Perl: o código "a" retém o byte NULL final. O código "A" remove todos os espaços em branco ASCII finais. Adicionado código "Z" para strings preenchidas NUL e remove bytes NULL finais. |
Descompacte os dados:
<?php$data = "PHP";print_r(unpack("C*meuint",$dados));?>Descompacte os dados:
<?php$bin = pack("c2n2",0x1234,0x5678,65,66);print_r(unpack("c2chars/n2int",$bin));?>