Книга: Справочник по PHP
Работа с бинарными данными
Работа с бинарными данными
pack
Пакетирование данных в двоичную строку.
Синтаксис:
string pack(string format [,mixed $args, ...]);
Функция pack() упаковывает заданные аргументы в бинарную строку, которая затем и возвращается. Формат параметров, а также их количество, задается при помощи строки $format, которая представляет собой набор однобуквенных спецификаторов форматирования - наподобие тех, которые указываются в sprintf(), но только без знака %. После каждого спецификатора может стоять число, которое отмечает, сколько информации будет обработано данным спецификатором. А именно, для форматов a,A,h и H число задает, какое количество символов будет помещено в бинарную строку из тех, что находится в очередном параметре-строке при вызове функции (то есть, определяет размер поля для вывода строки). В случае @ оно определяет абсолютную позицию, в которую будут помещены следующие данные. Для всех остальных спецификаторов следующие за ними числа задают количество аргументов, на которые распространяется действие данного формата. Вместо числа можно указать *, в этом случае подразумевается, что спецификатор действует на все оставшиеся данные.
Вот полный список спецификаторов формата:
// Целое, целое, все остальное - сиволы
$bindata = pack("nvc*", 0x1234, 0x5678, 65, 66);
После выполнения приведенного кода в строке $bindata будет содержаться 6 байтов в такой последовательности:0x12, 0x34, 0x78, 0x56, 0x41, 0x42 (в шестнадцатиричной системе счисления).
unpack
Распаковывает данные из двоичной строки.
Синтаксис:
array unpack(string format, string data);
Распаковывает данные из двоичной строки в массив согласно формату. Возвращает массив, содержащий распакованные элементы.
$array = unpack("c2chars/nint", $binarydata);
Возникающий в результате массив будет содержать "chars1", "chars2" и "int".
- Функции для работы с одиночными символами
- Функции отрезания пробелов
- Поиск в тексте
- Функции сравнения
- Форматирование и вывод строк
- Составление/разбиение строк
- Работа с блоками текста
- Функции для преобразования символов
- Функции изменения регистра
- Установка локали (локальных настроек)
- Преобразование кодировок
- Функции URL
- Работа с бинарными данными
- Строковые суммы и хеш-функции
- Строковые функции
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Лекция 15. Работа с базами данных
- Работа с ресурсами локальной сети
- Эффективная работа с временными файлами сортировки
- Ускоренная работа с индексами
- HR-брендинг: Работа с поколением Y, новые инструменты для коммуникации, развитие корпоративной культуры и еще 9 эффектив...
- Безопасная работа с внешними таблицами
- Работа со строками
- 9.2. Работа прокси-сервера
- 3. Заработок для фотографов: заработать на фото – сайты фотобанков
- Работа с активным документом