定义和用法unpack() 函数从二进制字符串对数据进行解包。
语法 unpack(format,data)
参数 | 描述 |
format | 必需。规定在解包数据时所使用的格式。 |
data | 可选。规定被解包的二进制数据。 |
Parameter参数 | Description描述 |
format | Required. Specifies the format to use when unpacking data.
必要参数。指定用于打包数据的格式
Possible values:
可用值如下:
- a - NUL-padded string
a - NUL- 字符串填满[padded string]
- A - SPACE-padded string
A - SPACE- 字符串填满[padded string]
- h - Hex string, low nibble first
h ? 十六进制字符串,低“四位元”[low nibble first]
- H - Hex string, high nibble first
H - 十六进制字符串,高“四位元”[high nibble first]
- c - signed char
c ? 带有符号的字符
- C - unsigned char
C ? 不带有符号的字符
- s - signed short (always 16 bit, machine byte order)
s ? 带有符号的短模式[short](通常是16位,按机器字节顺序)
- S - unsigned short (always 16 bit, machine byte order)
S ? 不带有符号的短模式[short](通常是16位,按机器字节排序)
- n - unsigned short (always 16 bit, big endian byte order)
n -不带有符号的短模式[short](通常是16位,按大endian字节排序)
- v - unsigned short (always 16 bit, little endian byte order)
v -不带有符号的短模式[short](通常是16位,按小endian字节排序)
- i - signed integer (machine dependent size and byte order)
i ? 带有符号的整数(由大小和字节顺序决定)
- I - unsigned integer (machine dependent size and byte order)
I ? 不带有符号的整数(由大小和字节顺序决定)
- l - signed long (always 32 bit, machine byte order)
l? 带有符号的长模式[long](通常是32位,按机器字节顺序)
- L - unsigned long (always 32 bit, machine byte order)
L ? 不带有符号的长模式[long](通常是32位,按机器字节顺序)
- N - unsigned long (always 32 bit, big endian byte order)
N ? 不带有符号的长模式[long](通常是32位,按大edian字节顺序)
- V - unsigned long (always 32 bit, little endian byte order)
V? 不带有符号的长模式[long](通常是32位,按小edian字节顺序)
- f - float (machine dependent size and representation)
f ?浮点(由大小和字节顺序决定)
- d - double (machine dependent size and representation)
d ? 双精度(由大小和字节顺序决定)
- x - NUL byte
x ? 空字节[NUL byte]
- X - Back up one byte
X- 后面一个字节[Back up one byte]
- @ - NUL-fill to absolute position
@ - NUL- 添加到一个绝对位置[absolute position]
|
data | Required. Specifies the binary data to be unpacked
必要参数。指定被解压的二进制数据 |
案例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)