我有一个UTF-8编码的文本文件,其中存在字节顺序标记 - 也就是说,前几个字节是EF BB BF 0D 0A 4D...
(它是由VS产生的Visual Studio解决方案文件2013)。Pyparsing,Python 3和Unicode字节顺序标记
我试图用PyParsing解析这个,使用parseFile()
方法和Python 3,在Python 2,我可以这样做:
import pyparsing as pp
bom = pp.Optional(unicode(unichr(0xfeff)).encode('utf-8')).suppress()
得到一个可选的字节顺序标记。但在Python 3中,unicode
和unichr
函数已经消失,因为所有字符串都是Unicode。所以,我想这一点:
bom = pp.Optional(chr(0xfeff)).suppress()
这:
bom = pp.Optional('\ufeff').suppress()
但无论是文件的开头匹配。我搜索了一段时间,但似乎无法找到任何相关的东西。
我该如何匹配(或者只是忽略!)Unicode字节顺序标记?
不是Visual Studio解决方案文件XML吗? –
恩,不是我正在看的那些。项目文件肯定是,但解决方案文件不是。 – Tom