有人可以向我解释为什么可以在grails的message.properties文件中使用像\u0043
这样的常规unicode转义序列,但是不能使用像\u{1F60A}
这样的ECMAScript 6 unicode代码点转义。
如果尝试使用后者,则会收到以下错误消息:Malformed \uxxxx encoding
。删除{}
也无济于事,因为这样只会解释前四个十六进制数字。
一个可能的解决方法是在这种情况下使用相应的代理对-\uD83D\uDE0A
。
但是,首先能够使用原始unicode代码点会容易得多。
最佳答案
您在这里遇到的问题是Java作为一种语言表示属性文件支持Unicode转义,即ASCII字符\ u(在section 3.3 of The Java Language Specification中定义),后跟四个十六进制数字。
干净利落。那是语言规范。不是ECMAScript 6。
关于java - grails,java-在message.properties中使用ECMAScript 6 Unicode代码点转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36479618/