我收到这样的数据:
$string = "\x01\x03\r\x08\xc0";
如何通过此变量(用echo
输出相同的值?
例如在python上,当我键入:
$ print [string]
我明白了
["\x01\x03\r\x08\xc0"]
注意:
如果我不使用$string = '\x01\x03\r\x08\xc0'
,因为我使用的是服务器来接收数据,而字符串变量是数据。
有人可以帮助我吗?
答案 0 :(得分:0)
当php解释器到达该行时:
$string = "\x01\x03\r\x08\xc0";
它自动解析双引号之间的字符串。所以你不能得到真正的字符串。但是,如果可以保证得到的响应是有效的十六进制,请使用bin2hex()函数。在这种情况下,您可以将该函数的结果转换为所需的结果。像这样:
$str = bin2hex($hex);
$real_str = '';
for($i=0; $i<strlen($str); $i+=2){
$real_str .= '\\x'.$str[$i].$str[$i+1];
}
echo $real_str;