2011-09-21 60 views
3

我从编码为“UTF-8”的文件中读取字符串。我需要将它与表达式相匹配。 该文件的第一个字符是#,但字符串中的第一个字符是''(空符号)。我已经将它翻译成字符集“UTF-8”,这里是[-17, -69, -65]。有谁知道它是什么以及如何用正则表达式来解决它?未知字符

+1

可以粘贴文件开头的[hexdump](http://en.wikipedia.org/wiki/Hex_dump)吗?也就是说,Java之前的原始数据甚至会触及它。 – 2011-09-21 04:25:23

回答

6

某些编辑器(如记事本)在保存UTF-8文本时添加了BOM(字节顺序掩码)签名。在从这样的文件读取字符串之前,您应该检查0xEF,0xBB,0xBF字节,如果它们存在,则跳过它们。

另一种方法是不要使用记事本编辑UTF-8文本,得到其他程序如记事本++,凯特或任何与你可以控制添加物料清单。