如何使用PHP将二进制数(即1111111
)转换为十六进制(即7f
)?我知道我可以做dechex(bindec('1111111'));
但是,我确信这不是正确的方法。
我尝试bin2hex('1111111')
,但结果是31313131313131。
答案 0 :(得分:5)
你的解决方案很好。您也可以使用base_convert。
$binary = '1111111';
echo base_convert($binary, 2, 16); // 7f
但请记住,php不是为计算而构建的。它是为使用字符串而构建的。
答案 1 :(得分:1)
dechex(bindec($binary));
这是正确的方法,你最后加上“)”(结束括号)......
答案 2 :(得分:0)
试试这个:
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>
请查看此链接以获取更多信息 http://php.net/manual/en/function.bin2hex.php
答案 3 :(得分:0)
您也可以尝试此功能:
<?php
function hexentities($str) {
$return = '';
for($i = 0; $i < strlen($str); $i++) {
$return .= '&#x'.bin2hex(substr($str, $i, 1)).';';
}
return $return;
}
?>