【发布时间】:2020-05-11 21:46:29
【问题描述】:
我有这种格式的 Unicode 字符串:
$str = '\x576879204920616d';
我知道它可以解析为 Unicode 中的以下单词:
Why I am
但我不知道如何在 PHP 中做到这一点。
顺便说一句,我知道这是可以做到的。我使用过其中一个在线网站,这是可能的:
【问题讨论】:
我有这种格式的 Unicode 字符串:
$str = '\x576879204920616d';
我知道它可以解析为 Unicode 中的以下单词:
Why I am
但我不知道如何在 PHP 中做到这一点。
顺便说一句,我知道这是可以做到的。我使用过其中一个在线网站,这是可能的:
【问题讨论】:
去掉废话并从十六进制转换。
$in = '\x576879204920616d';
$out = hex2bin(substr($in,2));
var_dump($out); // string(8) "Why I am"
我不知道你产生了什么输出格式,但它只是通用的十六进制编码,与 UTF8 或 Unicode 无关。
【讨论】:
使用 UTF-16BE(大端)和 Unicode 代码点之间的直接映射
$str = '\x576879204920616d';
echo mb_convert_encoding($str, 'UTF-8', 'UTF-16BE');
【讨论】: