2011-09-21 79 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文本,得到其他程序如記事本++,凱特或任何與你可以控制添加物料清單。