该unpack()
函数从二进制字符串解压缩数据。
unpack(format, data)
格式-要使用的格式。这是可能的值
用-NUL填充的字符串
一个-空格填充的字符串
h-十六进制字符串,低位优先
H-十六进制字符串,高位优先
c-签名字符
C-无符号字符
s-带符号的短(总是16位,机器字节顺序)
S-无符号短整数(总是16位,机器字节顺序)
n-无符号短整数(总是16位,大字节序)
v-无符号短整数(总是16位,低字节序)
i-有符号整数(与机器有关的大小和字节顺序)
I-无符号整数(与机器有关的大小和字节顺序)
l-带符号的长号(总是32位,机器字节顺序)
L-无符号长整数(始终为32位,机器字节顺序)
N-无符号长整数(始终为32位,大字节序)
V-无符号长整数(始终为32位,低字节序)
f-浮点(取决于机器的大小和表示形式)
d -double(与机器有关的尺寸和表示形式)
x -NUL字节
X-备份一个字节
Z -NUL填充的字符串
@ − NUL填充至绝对位置
数据-要打包的二进制数据。
如果unpack()
成功,该函数返回一个数组,如果失败,则返回false。
<?php $var = "Jacob"; print_r(unpack("C*myint",$var)); ?>
输出结果
以下是输出。
Array ( [myint1] => 74 [myint2] => 97 [myint3] => 99 [myint4] => 111 [myint5] => 98 )