java - grails,java-在message.properties中使用ECMAScript 6 Unicode代码点转义

标签 java grails unicode ecmascript-6

有人可以向我解释为什么可以在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/

相关文章:

python - 匹配python正则表达式中的unicode字符

BigDecimal 上的 java.lang.NumberFormatException

Grails GORM 整数验证

grails - Grails:JIRA基本身份验证的POST方法-不支持的媒体类型

unit-testing - 使用 doWithSpring 注入(inject)模拟

python - Google App Engine 上 Python 中的 Unicode

java - 有条件地添加额外的 else if 语句

java - 我的递归 find(T data) 方法正在调整我的 LinkedList 的大小..我该如何阻止它?

java - 禁用 Spring boot websocket MessageBroker 日志的 INFO 级别日志记录

python - 如何使用Python对字符串进行编码