解码utf8的python 2.7问题

时间:2017-02-28 14:16:27

标签: python

我有解码utf-8的问题,我在网上尝试一切,但它仍无法正常工作,

我从文件中读取行,该行包含未出现的utf8字符

如果我手动设置此行,则会出现字符,有什么区别,我该如何解决?

此代码正在运行:

b="test Test\hello\\\xd7\x92\xd7\x99\xd7\x95\xd7\x9c \xd7\x9b\xd7\x9e\xd7\x95\xd7\xaa\xd7\x99.csv"
print(type(b))
print (b)

resulat: 测试测试\ hello \גיולכמותי.csv

此代码无效:

f = open('C:\Program Files (x86)\Syslogd\Logs\SyslogCatchAll.txt')
for line in f :
print(line)

冲锋是:

bro_files Test \ hello \\ xd7 \ x92 \ xd7 \ x99 \ xd7 \ x95 \ xd7 \ x9c \ xd7 \ x9b \ xd7 \ x9e \ xd7 \ x95 \ xd7 \ xaa \ xd7 \ x99.csv

两条线是相同的,区别在于我从文件中读取它

1 个答案:

答案 0 :(得分:0)

要使用utf-8打开文件,您需要使用codecs作为:

import codecs
f = codecs.open('C:\Program Files (x86)\Syslogd\Logs\SyslogCatchAll.txt', encoding="utf-8")

或者,您可以尝试io模块,如@ PM 2Ring

所示
import io
io.open("C:\Program Files (x86)\Syslogd\Logs\SyslogCatchAll.txt", encoding="utf8")