pack和unpack函数的格式化字符表
格式化字符 | 数据类型 |
a | 无填充的字符串 |
A | 空格填充的字符串 |
h | 16位字符串,以低四位字节开始 |
H | 16位字符串,以高四位字节开始 |
c | 带符号的字符 |
C | 无符号的字符 |
s | 带符号的短整型数(16位,计算机字节序列) |
S | 无符号的短整型数(16位,计算机字节序列) |
n | 无符号的短整型数(16位,big endian字节序列) |
v | 无符号的短整型数(16位,little endian字节序列) |
i | 带符号的整数(大小与字节序列同计算机相关) |
I | 无符号的整数(大小与字节序列同计算机相关) |
l | 带符号的长整型数(32位,计算机字节序列) |
L | 无符号的长整型数(32位,计算机字节序列) |
N | 无符号的长整型数(32位,big endian字节序列) |
V | 无符号的长整型数(32位,little endian字节序列) |
f | 浮点型数(大小和表示法同计算机相关) |
d | 双精度型数(大小和表示法同计算机相关) |
x | 空字节 |
X | 倒退一个字节 |
@ | 绝对位置以空值填充 |
格式化字符后接数字表示长度,接*表示剩余的所有长度,数字后接字符串表示输出的键名,可用斜杠/分离多个格式化字符串,键名不足则在设置的键名后添加从1开始的序列。
$strArrPacked=pack('A20title/A10author/a50/description','Old Day','Qingzz','A beautiful poetry'); print_r($strArrPacked); $asciiUnpacked=unpack('c*','platypus'); print_r($asciiUnpacked);
点赞0
支持一下