我有一个文本文件,它是UTF-8编码,并且带有字节顺序标记 - 也就是说,前几个字节是
我正在尝试使用PyParsing解析此文件,使用
EF BB BF 0D 0A 4D...
(它是由VS 2013生成的Visual Studio解决方案文件)。我正在尝试使用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字节顺序标记?