PHP中的unpack()函数

unpack()函数从二进制字符串解压缩数据。

语法

unpack(format, data)

参数

  • 格式-要使用的格式。这是可能的值

    • -NUL填充的字符串

    • 一个-空格填充的字符串

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

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

    • c-签名字符

    • C-无符号字符

    • s-带符号的短(总是16位,机器字节顺序)

    • S-无符号短整数(总是16位,机器字节顺序)

    • n-无符号短整数(总是16位,大字节序)

    • v-无符号短整数(总是16位,低字节序)

    • i-有符号整数(与机器有关的大小和字节顺序)

    • I-无符号整数(与机器有关的大小和字节顺序)

    • l-带符号的长号(总是32位,机器字节顺序)

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

    • N-无符号长整数(始终为32位,大字节序)

    • V-无符号长整数(始终为32位,低字节序)

    • f-浮点(取决于机器的大小和表示形式)

    • d -double(与机器有关的尺寸和表示形式)

    • x -NUL字节

    • X-备份一个字节

    • Z -NUL填充的字符串

    • @ − NUL填充至绝对位置

  • 数据-要打包的二进制数据。

返回

如果unpack()成功,该函数返回一个数组,如果失败,则返回false。

示例

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

输出结果

以下是输出。

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