PHP處理二進制數(shù)據(jù)的實現(xiàn)方法
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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
destoon切換城市后實現(xiàn)logo旁邊顯示地區(qū)名稱的方法
這篇文章主要介紹了destoon切換城市后實現(xiàn)logo旁邊顯示地區(qū)名稱的方法,針對不同城市建設(shè)分站的時候很適用,需要的朋友可以參考下2014-08-08Laravel 5框架學(xué)習(xí)之Blade 簡介
本文給大家?guī)淼氖荓aravel5框架學(xué)習(xí)系列文章的第4篇,主要向大家簡單介紹下Blade,為什么要介紹它呢,因為laravel的模版引擎采用了blade模版引擎,so....2015-04-04PHP設(shè)計模式(六)橋連模式Bridge實例詳解【結(jié)構(gòu)型】
這篇文章主要介紹了PHP設(shè)計模式:橋連模式Bridge,結(jié)合實例形式詳細分析了PHP橋連模式Bridge概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-05-05Ubuntu 16.04中Laravel5.4升級到5.6的步驟
這篇文章主要給大家介紹了關(guān)于在Ubuntu 16.04中Laravel5.4升級到5.6的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12php冒泡排序、快速排序、快速查找、二維數(shù)組去重實例分享
這篇文章主要介紹了php冒泡排序、快速排序、快速查找、二維數(shù)組去重實例分享,需要的朋友可以參考下2014-04-04Yii2框架制作RESTful風(fēng)格的API快速入門教程
Yii提供了一整套用來簡化實現(xiàn)RESTful風(fēng)格的WebService服務(wù)的API。這篇文章主要介紹了Yii2框架制作RESTful風(fēng)格的API快速入門教程的相關(guān)資料,需要的朋友可以參考下2016-11-11