我正在编写一个脚本来检查一些 Java 的翻译消息文件。我们的消息源不允许在格式块中使用未转义的 Unicode 字符:
{0,number,¤UNESCAPED# ###}
1.9.2p290 :001 > unescaped = "{0,number,¤UNESCAPED# ###}"
=> "{0,number,¤UNESCAPED# ###}"
1.9.2p290 :002 > escaped = "{0,number,\u00A4ESCAPED# ###}"
=> "{0,number,¤ESCAPED# ###}"
请注意,转义和未转义的显示方式相同:
1.9.2p290 :003 > escaped.inspect
=> "\"{0,number,¤ESCAPED# ###}\""
该String.inspect
方法应该显示转义的特殊字符:
1.9.2p290 :004 > escaped.dump
=> "\"{0,number,\\u{a4}ESCAPED# ###}\""
1.9.2p290 :005 > unescaped.dump
=> "\"{0,number,\\u{a4}UNESCAPED# ###}\""
dump
应该做同样的事情。
任何人都知道区分转义和非转义Unicode字符的方法吗?