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