最新的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其它参考