PHP處理二進制數(shù)據(jù)需要用到pack()和unpack()。
pack()用來將數(shù)據(jù)轉(zhuǎn)成二進制數(shù)據(jù),使用方法如下:
pack(“LL”, 0,1);
pack(“C”, a);
unpack()可以將二進制數(shù)據(jù)解析成關(guān)系數(shù)組,它接受2個參數(shù),使用方法如下:
$arr = unpack(“Chead”, $binstream); //讀取第1個字節(jié)
$arr = unpack(“Chead/C3string/C4number”, $binstream); //讀取8個字節(jié),用斜杠可以分隔
pack()和unpack()函數(shù)的第一個參數(shù)表如下
■a:NULL填充的字節(jié)串
■A:空格填充的字節(jié)串
■h:十六進制數(shù),低四位字節(jié)優(yōu)先
■H:十六進制數(shù),高四位字節(jié)優(yōu)先
■c:有符號字符
■C:無符號字符
■s:有符號短整型(總是16位,機器字節(jié)序)
■S:無符號短整型(總是16位,機器字節(jié)序)
■n:無符號短整型(總是16位,大尾字節(jié)序)
■v:無符號短整型(總是16位,小尾字節(jié)序)
■I:有符號整型(機器相關(guān)大小和字節(jié)序)
■I:無符號整型(機器相關(guān)大小和字節(jié)序)
■l:有符號長整型(總是32位,機器字節(jié)序)
■L:無符號長整型(總是32位,機器字節(jié)序)
■N:無符號長整型(總是32位,大尾字節(jié)序)
■V:無符號長整型(總是32位,小尾字節(jié)序)
■f:浮點數(shù)(機器相關(guān)大小和表示)
■d:雙精度數(shù)(機器相關(guān)大小和表示)
■x:空字節(jié)
■X:倒退一個字節(jié)
■@:用NULL填充絕對位置
以上這篇PHP處理二進制數(shù)據(jù)的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考