Pack:详解
用法实例:
echo pack("C3",80,72,80);
?>
输出: PHP
返回的字串的第一个字节的值是 244。剩下的字节是 3.14 作为单精度浮点数的编码。浮点数的具体编码方式取决于你的计算机的硬件。
有些包装时要考虑的重要事情是:
数据的类型(比如是整数还是浮点还是字串),
数值的范围(比如你的整数是否放在一个,两个,四个,或者甚至八个字节里;或者你包装的是一个 8 位字符还是 Unicode 字符。),
你的整数是有符号还是无符号,以及
使用的编码(比如说本机,包装位和字节时小头在前,或者是大头在前)。
a 一个填充空的字节串
A 一个填充空格的字节串
b 一个位串,在每个字节里位的顺序都是升序
B 一个位串,在每个字节里位的顺序都是降序
c 一个有符号char(8位整数)值
C 一个无符号char(8位整数)值;关于Unicode 参阅U
d 本机格式的双精度浮点数
f 本机格式的单精度浮点数
h 一个十六进制串,低四位在前
H 一个十六进制串,高四位在前
i 一个有符号整数值,本机格式
I 一个无符号整数值,本机格式
l 一个有符号长整形,总是32 位
L 一个无符号长整形,总是32 位
n 一个16位短整形,“网络”字节序(大头在前)
N 一个32 位短整形,“网络”字节序(大头在前)
p 一个指向空结尾的字串的指针
P 一个指向定长字串的指针
q 一个有符号四倍(64位整数)值
Q 一个无符号四倍(64位整数)值
s 一个有符号短整数值,总是16 位
S 一个无符号短整数值,总是16 位
u 一个无编码的字串
U 一个Unicode 字符数字
v 一个“VAX”字节序(小头在前)的16 位短整数
V 一个“VAX”字节序(小头在前)的32 位短整数
w 一个BER 压缩的整数