string pack    ( string $format   [, mixed $args   [, mixed $...  ]] )

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

format

Параметр format задается в виде строки и состоит из кодов формата и опционального аргумента повторения. Аргумент может быть целочисленным, либо * для повторения до конца введенных данных. Для a, A, h, H число повторений определяет то, сколько символов взято от одного аргумента данных, для @ - это абсолютная позиция для размещения следующих данных, для всего остального число повторений определяет как много аргументов данных было обработано и упаковано в результирующую бинарную строку.

Работающие на данный момент форматы:
Символы форматов функции pack()
Код Описание
a Строка (string) с NUL-заполнением
A Строка (string) со SPACE-заполнением
h Hex-строка (Hex string), с нижнего разряда
H Hex-строка (Hex string), с верхнего разряда
c знаковый символ (char)
C беззнаковый символ (char)
s знаковый short (всегда 16 бит, машинный байтовый порядок)
S беззнаковый short (всегда 16 бит, машинный байтовый порядок)
n беззнаковый short (всегда 16 бит, порядок big endian)
v беззнаковый short (всегда 16 бит, порядок little endian)
i знаковый integer (машинно-зависимый размер и порядок)
I беззнаковый integer (машинно-зависимый размер и порядок)
l знаковый long (всегда 32 бит, машинный порядок)
L беззнаковый long (всегда 32 бит, машинный порядок)
N беззнаковый long (всегда 32 бит, порядок big endian)
V беззнаковый long (всегда 32 бит, порядок little endian)
q signed long long (всегда 64 bit, машинный порядок)
Q беззнаковый long long (всегда 64 bit, машинный порядок)
J беззнаковый long long (всегда 64 bit, порядок big endian)
P беззнаковый long long (всегда 64 bit, порядок little endian)
f float (машинно-зависимые размер и представление)
g float (машинно-зависимые размер, порядок байт little endian)
G float (машинно-зависимые размер, порядок байт big endian)
d double (машинно-зависимые размер и представление)
e double (машинно-зависимые размер, порядок байт little endian)
E double (машинно-зависимые размер, порядок байт big endian)
x байт NUL
X Резервирование одного байта
Z Строка (string) с NUL-заполнением (добавлено в PHP 5.5)
@ NUL-заполнение до абсолютной позиции

args