Распакуйте данные из двоичной строки:
<?php$data = "PHP";print_r(unpack("C*",$data));?>Функция unpack() распаковывает данные из двоичной строки.
распаковать(формат,данные)
параметр | описывать |
---|---|
формат | Необходимый. Указывает формат, используемый при распаковке данных. Возможные значения: a - дополненная строка NUL A – строка, заполненная ПРОБЕЛОМ h - Шестнадцатеричная строка, сначала младший бит. H — шестнадцатеричная строка, сначала старший бит. c - знаковый символ C - беззнаковый символ s — короткий со знаком (всегда 16 бит, машинный порядок байтов) S — беззнаковый короткий (всегда 16 бит, машинный порядок байтов) n — беззнаковый короткий (всегда 16 бит, обратный порядок байтов) v — короткий без знака (всегда 16 бит, порядок байтов с прямым порядком байтов) i - целое число со знаком (зависит от размера машины и порядка байтов) I — целое число без знака (зависит от размера машины и порядка байтов) l — длинный со знаком (всегда 32 бита, машинный порядок байтов) L — беззнаковое длинное (всегда 32 бита, машинный порядок байтов) N — длина без знака (всегда 32 бита, обратный порядок байтов) V — длина без знака (всегда 32 бита, прямой порядок байтов) f - плавающий (зависит от размера и исполнения машины) d - двойной (зависит от размера и комплектации машины) x - NUL-байт X — резервное копирование одного байта Z — дополненная строка NUL @ — NUL заполняет абсолютную позицию |
данные | Необходимый. Указывает двоичные данные для распаковки. |
Возвращаемое значение: | Возвращает массив в случае успеха или FALSE в случае неудачи. |
---|---|
PHP-версия: | 4+ |
Журнал обновлений: | Начиная с PHP 5.5.0, для совместимости с Perl были внесены следующие изменения: код «a» сохраняет завершающий NULL-байт. Код «A» удаляет все конечные пробелы ASCII. Добавлен код «Z» для строк, дополненных NUL, и удаляются конечные NULL-байты. |
Распакуйте данные:
<?php$data = "PHP";print_r(unpack("C*myint",$data));?>Распакуйте данные:
<?php$bin = Pack("c2n2",0x1234,0x5678,65,66);print_r(unpack("c2chars/n2int",$bin));?>