有人能解释一下为什么在grails的\u0043文件中可以使用通常的unicode转义序列(如\u0043),而不能像\u{1F60A}那样使用ECMAScript 6 unicode代码点转义。
如果我尝试使用后者,我会得到以下错误消息:Malformed \uxxxx encoding。删除{}也没有帮助,因为只有前四个十六进制数字才会被解释。
一种可能的解决方法是在本例中使用相应的代理项对- \uD83D\uDE0A。
然而,首先能够使用原始unicode代码点要容易得多。
发布于 2016-04-07 21:34:20
这里的问题是,Java作为一种语言,表示属性文件支持Unicode转义(在Java语言规范第3.3节中定义),ASCII字符\u后面跟着四个十六进制数字。
朴素而简单。这就是语言规范。不是ECMAScript 6。
https://stackoverflow.com/questions/36479618
复制相似问题