PHP 字符串中的 Unicode 字符
这个问题看起来很尴尬,但我无法找到答案。
什么是 PHP 等同于以下 C# 代码行?
string str = "\u1000";
此示例创建一个字符串,其中包含一个 Unicode 字符,其“Unicode 数值”为十六进制(十进制)。1000
4096
也就是说,在PHP中,我如何创建一个具有“Unicode数值”已知的Unicode字符的字符串?
这个问题看起来很尴尬,但我无法找到答案。
什么是 PHP 等同于以下 C# 代码行?
string str = "\u1000";
此示例创建一个字符串,其中包含一个 Unicode 字符,其“Unicode 数值”为十六进制(十进制)。1000
4096
也就是说,在PHP中,我如何创建一个具有“Unicode数值”已知的Unicode字符的字符串?
PHP 7.0.0 引入了“Unicode 代码点转义”语法。
现在,可以使用双引号或 heredoc 字符串轻松编写 Unicode 字符,而无需调用任何函数。
$unicodeChar = "\u{1000}";
因为JSON直接支持语法,所以我想到的第一件事是:\uxxxx
$unicodeChar = '\u1000';
echo json_decode('"'.$unicodeChar.'"');
另一种选择是使用mb_convert_encoding()
echo mb_convert_encoding('က', 'UTF-8', 'HTML-ENTITIES');
或者利用 UTF-16BE(大端序)和 Unicode 码位之间的直接映射:
echo mb_convert_encoding("\x10\x00", 'UTF-8', 'UTF-16BE');