欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

php二進(jìn)制文件中的怎么利用pack進(jìn)行處理-創(chuàng)新互聯(lián)

本篇文章給大家分享的是有關(guān)php二進(jìn)制文件中的怎么利用pack進(jìn)行處理,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在渾源等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站制作、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都營銷網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,渾源網(wǎng)站建設(shè)費(fèi)用合理。

php讀寫二進(jìn)制文件可以使用pack和unpack函數(shù)。
今天要處理一個二進(jìn)制文件的問題,所以需要用一下,特意了解一下pack的用法,unpack用法與此類似。

簡單來說,pack函數(shù)就是給一個目標(biāo)格式,和相應(yīng)的參數(shù),就可以返回二進(jìn)制數(shù)據(jù)了。

下面舉例加以說明,對于四個整數(shù):

pack("L4", 0,1,2,3)
pack("LLLL", 0,1,2,3)
pack("L", 0).pack("L", 1).pack("L", 2).pack("L", 3)

上面的處理結(jié)果是一樣的,也就是說,format是描述后面的數(shù)據(jù)的格式。
至于具體format可以用什么,看看format characters就知道了。
比如一個30字符的 pack("a30", "https://www.jb51.net") ,就是這個意思,很簡單

pack函數(shù)的官方聲明如下:

引用
pack
(PHP 3, PHP 4, PHP 5)

pack -- Pack data into binary string
Description
string pack ( string format [, mixed args [, mixed ...]] )

Pack given arguments into binary string according to format. Returns binary string containing data. 

The idea to this function was taken from Perl and all formatting codes work the same as there, however, there are some formatting codes that are missing such as Perl's "u" format code. The format string consists of format codes followed by an optional repeater argument. The repeater argument can be either an integer value or * for repeating to the end of the input data. For a, A, h, H the repeat count specifies how many characters of one data argument are taken, for @ it is the absolute position where to put the next data, for everything else the repeat count specifies how many data arguments are consumed and packed into the resulting binary string. Currently implemented are

表格 1. pack() format characters

Code Description 
a NUL-padded string 
A SPACE-padded string 
h Hex string, low nibble first 
H Hex string, high nibble first 
c signed char 
C unsigned char 
s signed short (always 16 bit, machine byte order) 
S unsigned short (always 16 bit, machine byte order) 
n unsigned short (always 16 bit, big endian byte order) 
v unsigned short (always 16 bit, little endian byte order) 
i signed integer (machine dependent size and byte order) 
I unsigned integer (machine dependent size and byte order) 
l signed long (always 32 bit, machine byte order) 
L unsigned long (always 32 bit, machine byte order) 
N unsigned long (always 32 bit, big endian byte order) 
V unsigned long (always 32 bit, little endian byte order) 
f float (machine dependent size and representation) 
d double (machine dependent size and representation) 
x NUL byte 
X Back up one byte 
@ NUL-fill to absolute position

看累了英文,下面來看看對應(yīng)的中文解釋:

引用
pack()函數(shù)的作用是:將數(shù)據(jù)壓縮成一個二進(jìn)制字符串。

a - NUL-padded string 
a - NUL- 字符串填滿[padded string] 
A - SPACE-padded string 
A - SPACE- 字符串填滿[padded string] 
h - Hex string, low nibble first 
h – 十六進(jìn)制字符串,低“四位元”[low nibble first] 
H - Hex string, high nibble first 
H - 十六進(jìn)制字符串,高“四位元”[high nibble first] 
c - signed char 
c – 帶有符號的字符 
C - unsigned char 
C – 不帶有符號的字符 
s - signed short (always 16 bit, machine byte order) 
s – 帶有符號的短模式[short](通常是16位,按機(jī)器字節(jié)順序) 
S - unsigned short (always 16 bit, machine byte order) 
S – 不帶有符號的短模式[short](通常是16位,按機(jī)器字節(jié)排序) 
n - unsigned short (always 16 bit, big endian byte order) 
n -不帶有符號的短模式[short](通常是16位,按大endian字節(jié)排序) 
v - unsigned short (always 16 bit, little endian byte order) 
v -不帶有符號的短模式[short](通常是16位,按小endian字節(jié)排序) 
i - signed integer (machine dependent size and byte order) 
i – 帶有符號的整數(shù)(由大小和字節(jié)順序決定) 
I - unsigned integer (machine dependent size and byte order) 
I – 不帶有符號的整數(shù)(由大小和字節(jié)順序決定) 
l - signed long (always 32 bit, machine byte order) 
l– 帶有符號的長模式[long](通常是32位,按機(jī)器字節(jié)順序) 
L - unsigned long (always 32 bit, machine byte order) 
L – 不帶有符號的長模式[long](通常是32位,按機(jī)器字節(jié)順序) 
N - unsigned long (always 32 bit, big endian byte order) 
N – 不帶有符號的長模式[long](通常是32位,按大edian字節(jié)順序) 
V - unsigned long (always 32 bit, little endian byte order) 
V– 不帶有符號的長模式[long](通常是32位,按小edian字節(jié)順序) 
f - float (machine dependent size and representation) 
f –浮點(diǎn)(由大小和字節(jié)順序決定) 
d - double (machine dependent size and representation) 
d – 雙精度(由大小和字節(jié)順序決定) 
x - NUL byte 
x – 空字節(jié)[NUL byte] 
X - Back up one byte 
X- 后面一個字節(jié)[Back up one byte] 
@ - NUL-fill to absolute position 
@ - NUL- 添加到一個絕對位置[absolute position]

示例代碼如下:

<?php 
$code=array(
"username"=>array("A7","張三adfb12"),
"pass"=>array("A10","asdf*#1"),
"age"=>array("C","23"),
"birthday"=>array("I","19900101"),
"email"=>array("A50","www.jb51.net"));
$stream=join("\0",parkByArr($code));
echo $stream,strlen($stream);
file_put_contents("1.txt",$stream);//將流保存起來便于下面讀取
function parkByArr($arr)
{
 $atArr=array();
 foreach ($arr as $k=>$v)
 {
 $atArr[]=pack($v[0],$v[1]);
 }
 return $atArr;
}
function getAscill($str)
{
 $arr=str_split($str);
 foreach ($arr as $v)
 {
 echo $v,"=",ord($v),"\n";
 }
}
$code=array(
"username"=>array("A20"),
"pass"=>array("A10"),
"age"=>array("C"),
"birthday"=>array("I"),
"email"=>array("A50"));
$stream=file_get_contents("1.txt");
var_dump(parkByArr($stream,$code));
function parkByArr($str,$code)
{
 $Arr=explode("\0",$str);
 $atArr=array();
 $i=0;
 foreach ($code as $k=>$v)
 {
 $atArr[$k]=unpack($v[0],$Arr[$i]);
 $i++;
 }
 return $atArr;
}

以上就是php二進(jìn)制文件中的怎么利用pack進(jìn)行處理,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:php二進(jìn)制文件中的怎么利用pack進(jìn)行處理-創(chuàng)新互聯(lián)
本文路徑:http://aaarwkj.com/article46/jcceg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站內(nèi)鏈、靜態(tài)網(wǎng)站、網(wǎng)站制作、定制網(wǎng)站關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
欧美亚洲国产青草久久| 中午字幕久久亚洲精品| 亚洲精品综合在线二区| 黑丝美女大战白丝美女| 欧美内射专区精品一区| 美女性生活免费视频网站| 精品欧美一区二区精品| 在线播放av男人的天堂| 天堂中文在线官网在线| 国产又粗又爽视频免费| 成人粉嫩av一区二区白浆| 最新国产成人免费在线视频| 国产一级无码免费视频| 国产福利91精品一区二区三| 女优一区二区三区蜜桃| 观看亚洲一区二区三区大片| 韩国av高清在线观看| 国产欧美日韩一区二区三区四区 | 日韩商清av毛片网站| 中文字幕乱码高清免费| 国产亚洲欧美日韩精品| 日韩精品一区伦理视频| 国产国产乱老熟女视频网站| 丰满人妻侵犯中文字幕| 中文字幕人妻出轨一区二区| 91国产性感美女视频| 特色特色欧美黄色影院| 欧美日韩亚洲精品内裤| 国产精品欧美久久久久久| 熟女少妇精品一区二区三区| 自偷自拍在线免费观看| 国产一区二区三区在线观看俏佳人| 九九在线视频精品免费播放| 伊人久久亚洲福利精品| 欧美美女福利午夜视频| 成人av久久一区二区三区| 国产欧美高清在线观看视频| 国产精品一区二区啪啪| 亚洲欧美日韩另类自拍| 日韩欧美亚洲国产一区久久精品| 精品人妻少妇一区二区三区|