时间:2021-07-01 10:21:17 帮助过:15人阅读
请问各位大神为什么 echo "$s2" 不会自动转成 '我' 字,而直接写 "\xE6\x88\x91" 就可以呢?
如果我得到了一个字符串 '\xE6\x88\x91' , 我要怎么把它转换成中文呢?
回复讨论(解决方案)
echo hex2bin(str_replace('\\x', '', '\xE6\x88\x91'));我
显然 \x 是蛇足
echo hex2bin(str_replace('\\x', '', '\xE6\x88\x91'));我
显然 \x 是蛇足
非常感谢,以后如果遇到这种情况只要把 \x 去掉,然后使用 hex2bin 函数就可以了啊。
主要是我看到,手册上写的在双引号里面字符可以写成 \x[0-9A-Fa-f]{1,2} 的形式,所以我就想,如果一个字符串是
$s = '\xE6\x88\x91';
那么这样写 echo "$s"; 他就自动转换了,看来是不行啊。
再次感谢!
$s = '\xE6\x88\x91';
$f = create_function('', "return \"$s\";");
echo $f();
eval("echo \"$s\";");