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

问题描述 投票:11回答:3

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

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

例如:

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

我怎么把它变回“你好”?

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

没有hex2bin()功能。

php string
3个回答
16
投票

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

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

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


5
投票

4
投票

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

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

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

string(16) "example hex data"

脱掉了PHP hex2bin page

© www.soinside.com 2019 - 2024. All rights reserved.