我找不到Python 3的副本,它处理编码的方式与Python 2不同.所以这里是答案:不是用默认编码打开文件(即'utf-8'
),使用'utf-8-sig'
,期望和剥离UTF- 8字节顺序标记,显示为
.
也就是说,而不是
data = open('info.txt')
做
data = open('info.txt', encoding='utf-8-sig')
请注意,如果您使用的是Python 2,您应该看到例如Python,将输出编码为UTF-8并将带有BOM的UTF-8转换为UTF-8,而在Python中没有BOM.你需要在Python 2中使用codecs
或者使用它来做一些恶作剧str.decode
.但是在Python 3中,你需要做的就是encoding=
在打开文件时设置参数.
我找不到Python 3的副本,它处理编码的方式与Python 2不同.所以这里是答案:不是用默认编码打开文件(即'utf-8'
),使用'utf-8-sig'
,期望和剥离UTF- 8字节顺序标记,显示为
.
也就是说,而不是
data = open('info.txt')
做
data = open('info.txt', encoding='utf-8-sig')
请注意,如果您使用的是Python 2,您应该看到例如Python,将输出编码为UTF-8并将带有BOM的UTF-8转换为UTF-8,而在Python中没有BOM.你需要在Python 2中使用codecs
或者使用它来做一些恶作剧str.decode
.但是在Python 3中,你需要做的就是encoding=
在打开文件时设置参数.