{site_name}

{site_name}

🌜 搜索

在 PHP 中,unpack 函数用于将二进制数据解包为一个数组

php 𝄐 0
phpunpack
在 PHP 中,unpack 函数用于将二进制数据解包为一个数组。它可以按照指定的格式对二进制字符串进行解析,并返回解析后的值。

unpack 函数的语法如下:

php
array unpack ( string $format, string $data )


- $format 是解包格式字符串,用于指定解包规则。
- $data 是要解包的二进制数据。

下面是一个例子,演示如何使用 unpack 函数解码一个包含整数和字符串的二进制数据:

php
$data = "\x01\x00\x00\x00\x05Hello"; // 一个整数和一个字符串的二进制数据

$unpackedData = unpack("ILength/A5Message", $data);
// 解包格式字符串:I 表示一个无符号整数,A5 表示一个长度为 5 的字符串

var_dump($unpackedData);


输出结果:


array(2) {
["Length"]=>
int(1)
["Message"]=>
string(5) "Hello"
}


在上面的例子中,使用解包格式字符串 "ILength/A5Message" 来解析二进制数据 $data。其中,I 表示一个无符号整数,A5 表示一个长度为 5 的字符串。解包后得到的关联数组 $unpackedData 包含两个元素,"Length" 和 "Message",分别对应解析后的整数和字符串值。