最新的Web開發教程
 

PHP unpack() Function

<PHP其它參考

從解包二進制字符串數據:

<?php
$data = "PHP";
print_r(unpack("C*",$data));
?>
運行示例»

定義和用法

unpack()函數從一個二進制串解包的數據。


句法

unpack(format,data)

參數 描述
format 需要。 指定打包數據時使用的格式。

可能的值:

  • 一個 - NUL填充字符串
  • A - 空格填充字符串
  • ^ h - 十六進制字符串,先低位
  • ^ h - 十六進制字符串,高半字節先
  • Ç - 符號字符
  • Ç - 無符號字符
  • 秒-簽訂短期(always 16 bit, machine byte order)
  • 的S -無符號短(always 16 bit, machine byte order)
  • N -無符號短(always 16 bit, big endian byte order)
  • N -無符號短(always 16 bit, little endian byte order)
  • 我-符號整數(machine dependent size and byte order)
  • I -無符號整數(machine dependent size and byte order)
  • L -簽訂長期(always 32 bit, machine byte order)
  • L -無符號長(always 32 bit, machine byte order)
  • N -無符號長(always 32 bit, big endian byte order)
  • N -無符號長(always 32 bit, little endian byte order)
  • 的F -浮子(machine dependent size and representation)
  • ð -雙(machine dependent size and representation)
  • X - NULL字節
  • X - 備份一個字節
  • ž - NUL填充字符串
  • @ - NUL填充到絕對位置
data 需要。 指定要解包二進制數據

技術細節

返回值: 如果成功則返回一個數組,如果失敗,FALSE。
PHP版本: 4+
更新日誌: 由於PHP 5.5.0中,以下更改為Perl配伍而成:

"a"碼現在保留尾隨NULL字節。
"A"代碼現在去掉所有尾隨ASCII空格。
"Z"的溶液中加入為空填充字符串的代碼,並刪除尾隨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其它參考