(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-заполнение до абсолютной позиции