Учебник PHP

         

pack

(PHP 3, PHP 4)

pack - упаковывает данные в бинарную строку.

Описание

string pack (string format [, mixed args])

Упаковывает данные аргументы в бинарную строку в соответствии с форматом format. Возвращает бинарную строку с данными.

Идея этой функции была взята из Perl, и весь код форматирования работает аналогично, однако отсутствуют некоторые коды форматирования, такие как Perl'овский "u". Строка форматирования состоит из кодов форматирования и последующего необязательного аргумента повторения/repeater. Аргумент repeater может быть целочисленным или * для повторения до конца данных ввода. Для a, A, h, H повторение специфицирует, сколько символов аргумента data принимается, для @ это абсолютная позиция для размещения следующих данных, для других параметров повторение специфицирует, сколько аргументов данных употребляется и упаковывается в результирующую бинарную строку. В настоящее время реализованы:

  • строка с NUL-заполнением

  • строка со SPACE-заполнение

  • h Hex-строка, сначала нижний разряд

  • H Hex-строка, сначала высший разряд

  • c знаковый char

  • C беззнаковый char

  • s знаковый short (всегда 16 бит, машинный байтовый порядок)

  • S беззнаковый short (всегда 16 бит, машинный байтовый порядок)

  • n беззнаковый short (всегда 16 бит, байтовый порядок big endian)

  • v беззнаковый short (всегда 16 бит, байтовый порядок little endian)

  • i signed integer (машиннозависимый размер и байтовый порядок)

  • I беззнаковый integer (машиннозависимый размер и байтовый порядок)

  • l signed long (всегда 32 бита, машинный байтовый порядок)

  • L беззнаковый long (всегда 32 бита, машинный байтовый порядок)

  • N беззнаковый long (всегда 32 бита, байтовый порядок big endian)

  • V беззнаковый long (всегда 32 бита, байтовый порядок little endian)

  • f float (машиннозависимый размер и представление)

  • d double (машиннозависимый размер и представление)

  • x NUL байт

  • X обратно на один байт

  • @ NUL-заполнение до абсолютной позиции

Содержание раздела