我想将Unicode代码点转换为字符.这是我尝试过的:
$point = dechex(127468); // 1f1ec
echo "\u{1f1ec}"; // this works
echo "\u{$point}"; // this outputs '\u1f1ec'
echo "\u{{$point}}"; // Parse error: Invalid UTF-8 codepoint escape sequence
echo "\u\{{$point}\}"; // outputs \u\{1f1ec\}
echo "\u{". $point ."}"; // Parse error; same as above
解决方法:
您不需要将整数转换为十六进制字符串,而是使用IntlChar::chr:
echo IntlChar::chr(127468);
直接来自IntlChar :: chr的文档:
Return Unicode character by code point value