PHP 中的 unpack() 函数


unpack() 函数用于解压缩二进制字符串中的数据。

语法

unpack(format, data)

参数

  • format − 使用的格式。以下是可能的取值:

    • a − 用 NUL 填充的字符串

    • A − 用空格填充的字符串

    • h − 十六进制字符串,低位字节优先

    • H − 十六进制字符串,高位字节优先

    • c − 有符号字符

    • C − 无符号字符

    • s − 有符号短整型 (始终为 16 位,机器字节序)

    • S − 无符号短整型 (始终为 16 位,机器字节序)

    • n − 无符号短整型 (始终为 16 位,大端字节序)

    • v − 无符号短整型 (始终为 16 位,小端字节序)

    • i − 有符号整型 (大小和字节序取决于机器)

    • I − 无符号整型 (大小和字节序取决于机器)

    • l − 有符号长整型 (始终为 32 位,机器字节序)

    • L − 无符号长整型 (始终为 32 位,机器字节序)

    • N − 无符号长整型 (始终为 32 位,大端字节序)

    • V − 无符号长整型 (始终为 32 位,小端字节序)

    • f − 浮点型 (大小和表示取决于机器)

    • d − 双精度浮点型 (大小和表示取决于机器)

    • x − NUL 字节

    • X − 后退一个字节

    • Z − 用 NUL 填充的字符串

    • @ − 用 NUL 填充到绝对位置

  • data − 要打包的二进制数据。

返回值

unpack() 函数成功时返回一个数组,失败时返回 false。

示例

 在线演示

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

输出

以下是输出结果。

Array
(
   [myint1] => 74
   [myint2] => 97
   [myint3] => 99
   [myint4] => 111
   [myint5] => 98
)

更新于:2019-12-30

407 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告