PHP unpack() 函数
定义和用法
unpack() 函数从二进制字符串对数据进行解包。
语法
unpack(format,data)
参数 | 描述 |
---|---|
format | 必需。规定在解包数据时所使用的格式。 |
data | 可选。规定被解包的二进制数据。 |
format 参数的可能值:
-
a – NUL-padded string
-
A – SPACE-padded string
-
h – Hex string, low nibble first
-
H – Hex string, high nibble first
-
c – signed char
-
C – unsigned char
-
s – signed short (always 16 bit, machine byte order)
-
S – unsigned short (always 16 bit, machine byte order)
-
n – unsigned short (always 16 bit, big endian byte order)
-
v – unsigned short (always 16 bit, little endian byte order)
-
i – signed integer (machine dependent size and byte order)
-
I – unsigned integer (machine dependent size and byte order)
-
l – signed long (always 32 bit, machine byte order)
-
L – unsigned long (always 32 bit, machine byte order)
-
N – unsigned long (always 32 bit, big endian byte order)
-
V – unsigned long (always 32 bit, little endian byte order)
-
f – float (machine dependent size and representation)
-
d – double (machine dependent size and representation)
-
x – NUL byte
-
X – Back up one byte
-
@ – NUL-fill to absolute position
例子
例子 1
输出:
Array ( [1] => 80 [2] => 72 [3] => 80 )
例子 2
输出:
Array ( [myint1] => 80 [myint2] => 72 [myint3] => 80 )
例子 3
输出:
Array ( [chars1] => 52 [chars2] => 120 [int1] => 65 [int2] => 66 )