【发布时间】:2010-12-28 10:28:22
【问题描述】:
我正在构建一种语言,一种玩具语言。语法 \#0061 应该将给定的 Unicode 转换为字符:
String temp = yytext().subtring(2);
然后尝试将'\u' 附加到字符串后,我注意到产生了错误。
我也试过"\\" + "u" + temp;这种方式不做任何转换。
我基本上是在尝试通过仅向方法提供 '0061' 来将 Unicode 转换为字符,帮助。
【问题讨论】:
-
请注意,16 位(4 个十六进制数字)不足以表示 Unicode 中的所有字符。在java中“\u1234”映射到UTF-16中的一个码位单元,它与一个字符不同。
-
附录:事实上它是映射到 UTF-16 代码点单元的 java 数据类型 char,而不是实际的 Unicode 字符。