我从文件中读取了编码为“UTF-8”的字符串。我需要将它与表达式相匹配。
该文件的第一个字符是#
,但在字符串中,第一个字符是''
(空符号)。我用charset“UTF-8”将其翻译成字节,这里是[-17, -69, -65]
。有谁知道它是什么以及如何用正则表达式解决它?
答案 0 :(得分:6)
某些编辑器(如记事本)在保存UTF-8文本时添加BOM(字节顺序掩码)签名。您应该在从此类文件读取字符串之前检查0xEF,0xBB,0xBF字节,如果它们存在则跳过它们。
另一种方法是不要使用记事本来编辑UTF-8文本,得到其他程序,如Notepad ++,Kate或任何你可以控制添加BOM的女巫。