PHP 字符串中的 Unicode 字符

2022-08-30 06:27:33

这个问题看起来很尴尬,但我无法找到答案。

什么是 PHP 等同于以下 C# 代码行?

string str = "\u1000";

此示例创建一个字符串,其中包含一个 Unicode 字符,其“Unicode 数值”为十六进制(十进制)。10004096

也就是说,在PHP中,我如何创建一个具有“Unicode数值”已知的Unicode字符的字符串?


答案 1

PHP 7.0.0 引入了“Unicode 代码点转义”语法

现在,可以使用双引号heredoc 字符串轻松编写 Unicode 字符,而无需调用任何函数。

$unicodeChar = "\u{1000}";

答案 2

因为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');

推荐