如何在PHP中将十六进制数据表示转换为二进制数据?

时间:2010-04-08 19:29:18

标签: php string

我熟悉php的函数bin2hex(),用于将二进制数据转换为十六进制表示。

但是,将数据的十六进制表示转换回二进制数据的补码函数是什么?

例如:

$foo = "hello";
$foo = bin2hex($foo);
echo $foo; // Displays 68656c6c6f

如何将其变回“你好”?

$foo = "68656c6c6f";
// Now what?

没有hex2bin()功能。

3 个答案:

答案 0 :(得分:16)

如果你看PHP's bin2hex page,建议的解决方案包括这个:

$foo = pack("H*" , $foo);
echo $foo;

您还可以选择各种hex2bin实现。

答案 1 :(得分:5)

答案 2 :(得分:4)

对于那些拥有PHP 5.4及以上版本的人来说,有一种标准的方法:

<?php $bin = hex2bin("6578616d706c65206865782064617461"); var_dump($bin); ?>

上述代码的输出应类似于:

string(16) "example hex data"

离开PHP hex2bin page