未知字符

时间:2011-09-21 04:21:15

标签: java unicode character-encoding

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

1 个答案:

答案 0 :(得分:6)

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

另一种方法是不要使用记事本来编辑UTF-8文本,得到其他程序,如Notepad ++,Kate或任何你可以控制添加BOM的女巫。