一尘不染

PHP字符串中的Unicode字符

php

这个问题看起来很尴尬,但我一直找不到答案。

与下面的C#代码行等效的PHP是什么?

string str = "\u1000";

此示例创建一个带有单个Unicode字符的字符串,该字符串的“ Unicode数值”为十六进制的1000(十进制的4096)。

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


阅读 474

收藏
2020-05-26

共1个答案

一尘不染

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