PHP处理二进制数据需要用到pack()和unpack()。
pack()用来将数据转成二进制数据,使用方法如下:
pack("LL", 0,1);
pack("C", a);
unpack()可以将二进制数据解析成关系数组,它接受2个参数,使用方法如下:
$arr = unpack("Chead", $binstream); //读取第1个字节
$arr = unpack("Chead/C3string/C4number", $binstream); //读取8个字节,用斜杠可以分隔
pack()和unpack()函数的第一个参数表如下
■a:NULL填充的字节串
■A:空格填充的字节串
■h:十六进制数,低四位字节优先
■H:十六进制数,高四位字节优先
■c:有符号字符
■C:无符号字符
■s:有符号短整型(总是16位,机器字节序)
■S:无符号短整型(总是16位,机器字节序)
■n:无符号短整型(总是16位,大尾字节序)
■v:无符号短整型(总是16位,小尾字节序)
■I:有符号整型(机器相关大小和字节序)
■I:无符号整型(机器相关大小和字节序)
■l:有符号长整型(总是32位,机器字节序)
■L:无符号长整型(总是32位,机器字节序)
■N:无符号长整型(总是32位,大尾字节序)
■V:无符号长整型(总是32位,小尾字节序)
■f:浮点数(机器相关大小和表示)
■d:双精度数(机器相关大小和表示)
■x:空字节
■X:倒退一个字节
■@:用NULL填充绝对位置
以上这篇PHP处理二进制数据的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Copyright© 2013-2020
All Rights Reserved 京ICP备2023019179号-8