我绊倒了一些xxx_fr.properties,xxx_en.properties等文件,我有点惊讶它们包含html实体和\uxxxx
转义。
我猜HTML实体很好,只要这些资源提供给等待HTML的东西,但\uxxxx
转义呢?
Java是否指定{。1}}转义在.properties文件中没问题?
答案 0 :(得分:4)
是的 - 请参阅load(Reader)
&
,其中说明了
键和元素中的字符可以是 以转义序列表示 类似于用于角色的那些 和字符串文字。
然后澄清
Unicode转义序列中只允许使用一个'u'字符。
因此,肯定支持包含单个“u”字符的Unicode转义序列。
请注意,在使用HTML实体加载时没有什么特别之处 - 例如,字符串\u0061
只能在Java中看作包含5个字符的字符串。正如您所指出的,如果以后将其输出到其他组件,可能会以特殊方式解释。
另一方面,转义序列{{1}}在Java中将被视为单字符字符串'a',并且与包含该字符的文件无法区分。
答案 1 :(得分:3)
\ u type escaping是表示Unicode字符的标准Java方式。您可以在Java Internationalization FAQ中阅读它。使用“如何在属性文件中指定非ASCII字符串?”问题是你最感兴趣的一个:
http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#properties-escape
这不仅仅与属性相关;您也可以在典型的Java代码中使用它们。请参阅文本表示块:
http://java.sun.com/javase/technologies/core/basic/intl/faq.jsp#core-textrep