【发布时间】:2016-03-03 06:55:07
【问题描述】:
如何使用 PHP 将二进制数(即1111111)转换为十六进制数(即7f)?我知道我可以做到dechex(bindec('1111111'));,但是,我确信这不是正确的方法。
我尝试了bin2hex('1111111'),但结果为 31313131313131。
【问题讨论】:
如何使用 PHP 将二进制数(即1111111)转换为十六进制数(即7f)?我知道我可以做到dechex(bindec('1111111'));,但是,我确信这不是正确的方法。
我尝试了bin2hex('1111111'),但结果为 31313131313131。
【问题讨论】:
您的解决方案很好。你也可以使用base_convert。
$binary = '1111111';
echo base_convert($binary, 2, 16); // 7f
但请记住,php 不是为计算而构建的。它是为处理字符串而构建的。
【讨论】:
dechex(bindec($binary));
这是正确的方法,你在最后加上额外的“)”(右括号)......
【讨论】:
bin2hex()?从名字上看,有人会认为它会起作用,但事实并非如此。
你也可以试试这个功能:
<?php
function hexentities($str) {
$return = '';
for($i = 0; $i < strlen($str); $i++) {
$return .= '&#x'.bin2hex(substr($str, $i, 1)).';';
}
return $return;
}
?>
【讨论】:
试试这个:
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>
查看此链接了解更多信息 http://php.net/manual/en/function.bin2hex.php
【讨论】: