php如何将16进制数据转换为数组?

62次阅读
没有评论

可以使用php内置函数hex2bin()将16进制数据转换为二进制数据,然后再使用unpack()函数将二进制数据转换为数组。

以下是一个完整示例:

$hex = "48656c6c6f20576f726c64";  // 要转换的16进制数据

$bin = hex2bin($hex);  // 将16进制数据转换为二进制数据

$arr = unpack("C*", $bin);  // 将二进制数据转换为数组

print_r($arr);  // 输出数组

运行此示例,将输出以下结果:

Array
(
    [1] => 72
    [2] => 101
    [3] => 108
    [4] => 108
    [5] => 111
    [6] => 32
    [7] => 87
    [8] => 111
    [9] => 114
    [10] => 108
    [11] => 100
)

其中,unpack()函数的第一个参数”C*”表示将二进制数据解压缩为一个无符号字符型数组,”*”表示将所有数据都解压缩为数组元素。若想解压缩成其他数据类型的数组,可以参照unpack()函数文档中的格式说明进行调整。

正文完
 
评论(没有评论)