首頁  >  文章  >  後端開發  >  php unpack函數怎麼用

php unpack函數怎麼用

藏色散人
藏色散人原創
2019-05-27 09:45:572476瀏覽

php unpack函數用於從二進位字串對資料進行解包,語法是unpack(format,data),參數format 必需,指規定在解包資料時所使用的格式。

php unpack函數怎麼用

php unpack函數怎麼用?

定義和用法

unpack() 函數從二進位字串對資料進行解包。

語法

unpack(format,data)

參數 

#format 必要。規定在解包資料時所使用的格式。

可能的值:

##● a - NUL 填滿的字串

##● A - SPACE 填滿的字串

● h - 十六進位字串,低位在前

##● H - 十六進位字串,高位在前

● c - signed char

#● C - unsigned char

● s - signed short(總是16位元, machine 位元組順序)

● S - unsigned short(總是16位元, machine 位元組順序)

● n - unsigned short(總是16位元, big endian 位元組順序)

● v - unsigned short(總是16位元, little endian 位元組順序)

● i - signed integer(取決於machine 的大小和位元組順序)

● I - unsigned integer(取決於machine 的大小和位元組順序)

● l - signed long(總是32位元, machine 位元組順序)

● L - unsigned long(總是32位元, machine 位元組順序)

● N - unsigned long(總是32位元, big endian 位元組順序)

● V - unsigned long(總是32位元, little endian 位元組順序)

● f - float(取決於machine 的大小和表示)

● d - double(取決於machine 的大小和表示)

● x - NUL 位元組

● X - 備份一個位元組

#● Z - NUL 填滿的字串

● @ - NUL 填滿絕對位置

● data 必需。規定被解包的二進位資料。

傳回值:

如果成功則傳回數組,如果失敗則傳回 FALSE。

PHP 版本: 4

更新日誌:

自PHP 5.5.0 起,為Perl 相容進行了下列變更:

"a" 程式碼保留尾隨NULL 位元組。

"A" 程式碼刪除所有尾隨 ASCII 空白。

新增 "Z" 程式碼用於 NUL 填滿的字串,並移除尾隨 NULL 位元組。

實例1

對資料進行解包:

<?php
$data = "PHP";
print_r(unpack("C*myint",$data));
?>

實例2

##對資料進行解包:

<?php
$bin = pack("c2n2",0x1234,0x5678,65,66);
print_r(unpack("c2chars/n2int",$bin));
?>

實例

從二進位字串對資料進行解包:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
輸出:

Array ( [1] => 80 [2] => 72 [3] => 80 )

以上是php unpack函數怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn