如何使用PHP將二進制數(即1111111
)轉換爲十六進制(即7f
)?我承認我可以做dechex(bindec('1111111'));
,但是,我確信這不是正確的做法。使用PHP將二進制轉換爲十六進制
我試圖bin2hex('1111111')
但卻造成31313131313131.
如何使用PHP將二進制數(即1111111
)轉換爲十六進制(即7f
)?我承認我可以做dechex(bindec('1111111'));
,但是,我確信這不是正確的做法。使用PHP將二進制轉換爲十六進制
我試圖bin2hex('1111111')
但卻造成31313131313131.
您的解決方案很好。您也可以使用base_convert。
$binary = '1111111';
echo base_convert($binary, 2, 16); // 7f
但請記住,PHP不是爲計算而構建的。它是爲使用字符串而構建的。
dechex(bindec($binary));
這是正確的方式,你是把多餘的 「)」(最終右括號)...
對不起,那肯定是對有機磷農藥問題... – arkascha
爲什麼要引用'bin2hex()'?從名字來看,人們會認爲它會起作用,然而,並非如此。 – user1032531
試試這個:
<?php
$binary = "11111001";
$hex = dechex(bindec($binary));
echo $hex;
?>
看看這個鏈接獲取更多信息 http://php.net/manual/en/function.bin2hex.php
你也可以試試這個功能:
<?php
function hexentities($str) {
$return = '';
for($i = 0; $i < strlen($str); $i++) {
$return .= '&#x'.bin2hex(substr($str, $i, 1)).';';
}
return $return;
}
?>
謝謝謝爾蓋。這看起來好一些(或者至少更可讀)。 – user1032531