从十六进制代码创建UTF-8字符串

时间:2013-04-19 06:44:29

标签: php unicode utf-8 hex codepoint

在C ++中,可以使用这种表示法创建一个UTF-8字符串:"\uD840\uDC50"

然而,这在PHP中不起作用。是否有类似的符号?

如果没有,是否有任何内置方法可以创建一个知道其Unicode代码点的UTF-8字符串?

2 个答案:

答案 0 :(得分:7)

我最终实现了这样:

$utf8 = html_entity_decode("一", ENT_COMPAT, 'UTF-8');

答案 1 :(得分:2)

function hexToString($str){return chr(hexdec(substr($str, 2)));}
$result = preg_replace_callback("/(\\\\x..)/isU", function($m) { return hexToString($m[0] ); }, $str);