pack
������������� ������ � �������� ������.
��������� :
string pack(string format [,mixed $args, ...]);
������� pack() ����������� �������� ��������� � �������� ������, ������� ����� � ������������. ������ ����������, � ����� �� ����������, �������� ��� ������ ������ $format, ������� ������������ ����� ����� ������������� �������������� �������������� - ��������� ���, ������� ����������� � sprintf(), �� ������ ��� ����� %. ����� ������� ������������� ����� ������ �����, ������� ��������, ������� ���������� ����� ���������� ������ ��������������. � ������, ��� �������� a,A,h � H ����� ������, ����� ���������� �������� ����� �������� � �������� ������ �� ���, ��� ��������� � ��������� ���������-������ ��� ������ ������� (�� ����, ���������� ������ ���� ��� ������ ������). � ������ @ ��� ���������� ���������� �������, � ������� ����� �������� ��������� ������. ��� ���� ��������� �������������� ��������� �� ���� ����� ������ ���������� ����������, �� ������� ���������������� �������� ������� �������. ������ ����� ����� ������� *, � ���� ������ ���������������, ��� ������������ ��������� �� ��� ���������� ������.
��� ������ ������ �������������� �������:
a - ������, ��������� ����� � ���� ����������� �������� � ����� 0;
A - ������, ��������� ����� ����������� ���������;
h - ����������������� ������, ������� ������� � ������;
H - ����������������� ������, ������� ������� � ������;
c - �������� ���� (������);
C - ����������� ����;
s - �������� �������� ����� (16 ������ ������� ������ ������������ ������������ ����������);
S - ����������� �������� �����;
n - ����������� ����� (16 �����, ������� ������� � �����);
v - ����������� ����� (16 �����, ������� ������� � �����);
i - �������� ����� (������ � ������� ������ ������������ ������������);
I - ����������� �����;
l - �������� ������� ����� (32 ����, ������� ������ ������������ ������������);
L - ����������� ������� �����;
N - ����������� ������� ����� (32 ����, ������� ������� � �����);
V - ����������� ����� (32 ����, ������� ������� � �����);
f - ����� � ��������� ������ (������� �� �����������);
d - ����� � ��������� ������ ������� �������� (������� �� �����������);
x - ������ � ������� �����;
X - ������� ����� �� 1 ����;
@ - ���������� ������� ����� �� �������� ���������� �������.
0x12, 0x34, 0x78, 0x56, 0x41, 0x42 (� ����������������� ������� ���������).
������������� ������ � �������� ������.
��������� :
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(string format, string data);
������������� ������ �� �������� ������ � ������ �������� �������. ���������� ������, ���������� ������������� ��������.
$array = unpack("c2chars/nint", $binarydata);����������� � ���������� ������ ����� ��������� "chars1", "chars2" � "int".