PHP字符串中的Unicode字符这个问题看起来很简单,但我一直找不到答案。PHP相当于以下C#代码行?string str = "\u1000";此示例创建一个具有单个Unicode字符的字符串,其“Unicode数字值”以十六进制(小数点为4096)为1000。也就是说,在PHP中,如何使用已知“Unicode数值”的单个Unicode字符创建字符串?
3 回答
有只小跳蛙
TA贡献1824条经验 获得超8个赞
\uxxxx
$unicodeChar = '\u1000';echo json_decode('"'.$unicodeChar.'"');
mb_convert_encoding()
echo mb_convert_encoding('က', 'UTF-8', 'HTML-ENTITIES');
echo mb_convert_encoding("\x10\x00", 'UTF-8', 'UTF-16BE');
慕无忌1623718
TA贡献1744条经验 获得超4个赞
function unicodeString($str, $encoding=null) { if (is_null($encoding)) $encoding = ini_get('mbstring.internal_encoding'); return preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/u', create_function('$match', 'return mb_convert_encoding(pack("H*", $match[1]), '.var_export($encoding, true).', "UTF-16BE");'), $str);}
create_function
:
function unicodeString($str, $encoding=null) { if (is_null($encoding)) $encoding = ini_get('mbstring.internal_encoding'); return preg_replace_callback('/\\\\u([0-9a-fA-F]{4})/u', function($match) use ($encoding) { return mb_convert_encoding(pack('H*', $match[1]), $encoding, 'UTF-16BE'); }, $str);}
$str = unicodeString("\u1000");
- 3 回答
- 0 关注
- 281 浏览
添加回答
举报
0/150
提交
取消