PHP處理二進(jìn)制數(shù)據(jù)的實(shí)現(xiàn)方法

字號(hào):


    PHP處理二進(jìn)制數(shù)據(jù)需要用到pack()和unpack()。
    pack()用來將數(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:無符號(hào)字符
    ■s:有符號(hào)短整型(總是16位,機(jī)器字節(jié)序)
    ■S:無符號(hào)短整型(總是16位,機(jī)器字節(jié)序)
    ■n:無符號(hào)短整型(總是16位,大尾字節(jié)序)
    ■v:無符號(hào)短整型(總是16位,小尾字節(jié)序)
    ■I:有符號(hào)整型(機(jī)器相關(guān)大小和字節(jié)序)
    ■I:無符號(hào)整型(機(jī)器相關(guān)大小和字節(jié)序)
    ■l:有符號(hào)長整型(總是32位,機(jī)器字節(jié)序)
    ■L:無符號(hào)長整型(總是32位,機(jī)器字節(jié)序)
    ■N:無符號(hào)長整型(總是32位,大尾字節(jié)序)
    ■V:無符號(hào)長整型(總是32位,小尾字節(jié)序)
    ■f:浮點(diǎn)數(shù)(機(jī)器相關(guān)大小和表示)
    ■d:雙精度數(shù)(機(jī)器相關(guān)大小和表示)
    ■x:空字節(jié)
    ■X:倒退一個(gè)字節(jié)
    ■@:用NULL填充絕對位置
    以上這篇PHP處理二進(jìn)制數(shù)據(jù)的實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考