php pack()函数
php pack()函数可以将一组数据打包成二进制字符串,该函数有两个参数,第一个参数是一个字符串,用于指定打包格式,第二个参数是一个可变参数,用于指定要打包的数据。
$data = pack("A4", "ABCD");
上面的代码将字符串"ABCD"打包成4个字节的二进制字符串,"A4"表示每个字节的格式为A,即字符串,4表示字节数。
pack()函数支持的字节格式有:
- A:字符串,可以指定字节数;
- a:字符串,可以指定字节数;
- h:16进制数,可以指定字节数;
- H:16进制数,可以指定字节数;
- c:有符号字节;
- C:无符号字节;
- s:有符号短整数;
- S:无符号短整数;
- n:无符号短整数;
- v:无符号短整数;
- i:有符号整数;
- I:无符号整数;
- l:有符号长整数;
- L:无符号长整数;
- N:无符号长整数;
- V:无符号长整数;
- f:单精度浮点数;
- d:双精度浮点数。
例如,要将一个有符号整数打包成二进制字符串,可以使用下面的代码:
$data = pack("i", -123);
要将一个双精度浮点数打包成二进制字符串,可以使用下面的代码:
$data = pack("d", 3.14);
pack()函数可以将一组数据打包成二进制字符串,可以用于将数据保存到文件中,也可以用于将数据发送到网络上。