从Unicode到Java的字符串转换

铁匠:

我正在建立一种语言,一种玩具语言。该语法\#0061应将给定的Unicode转换为字符:

String temp = yytext().subtring(2);

然后在尝试追加'\u'到字符串之后,我注意到生成了一个错误。

我也试图以"\\" + "u" + temp;这种方式不做任何转换。

我基本上是在尝试通过仅'0061'向方法(帮助)提供将Unicode转换为字符

斯蒂芬·C:

去除'#'并将其用于Integer.parseInt("0061", 16)将十六进制数字转换为int然后转换为char

(如果您是手工实现的lexer,另一种方法是在您的lexer与unicode字面值匹配时立即进行转换。但是在重读问题时,我发现您正在使用lexer生成器...好招! )

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章