我需要获取一些二进制数据并将其转换为十六进制。当我做的时候
$value = bin2hex($msg);
$ value是“0003”。但是我需要它是十六进制字符串,如0x0003或甚至只是“03”(十六进制),以便使用它。
我该如何转换它?
答案 0 :(得分:2)
我需要将字符串转换为十六进制字符串以使用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));
答案 1 :(得分:0)
试一试
$value = dechex(bindec($msg));
echo $value ;