【发布时间】:2017-11-19 02:44:09
【问题描述】:
我需要获取一些二进制数据并将其转换为十六进制。当我这样做时
$value = bin2hex($msg);
$值是“0003”。但是我需要它是一个十六进制字符串,比如 0x0003 甚至只是“03”(十六进制),才能使用它。
如何转换?
【问题讨论】:
-
$hexString = "0x" . $value? -
能否提供输入值?
我需要获取一些二进制数据并将其转换为十六进制。当我这样做时
$value = bin2hex($msg);
$值是“0003”。但是我需要它是一个十六进制字符串,比如 0x0003 甚至只是“03”(十六进制),才能使用它。
如何转换?
【问题讨论】:
$hexString = "0x" . $value?
您需要将字符串转换为十六进制字符串才能使用bin2hex($msg);
你可以用这个
function strToHex($string){
$hex = '';
for ($i=0; $i<strlen($string); $i++){
$ord = ord($string[$i]);
$hexCode = dechex($ord);
$hex .= substr('0'.$hexCode, -2);
}
return strToUpper($hex);}
喜欢这个
$value = bin2hex(strToHex($msg));
【讨论】:
试试看
$value = dechex(bindec($msg));
echo $value ;
【讨论】: