Python中用open打开文件(内容是中文),读取结果出问题
我刚学Python,我觉得关键看你Python是什么版本的,python3.0之前需要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ,Python3.0好像是utf-8编码集成的
我刚学Python,我觉得关键看你Python是什么版本的,python3.0之前需要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ,Python3.0好像是utf-8编码集成的
f.read().decode("GBK").encode("utf-8")
你最好指定字符集的方式来打开文件, codecs.open
要看你文件的编码格式,可能你读出来的是byte流。
在python中,不区分str和byte[]。
print type(u'你好')
print type('\xc4\xe3\xba\xc3'.decode('GBK'))
print type('\xc4\xe3\xba\xc3'.decode('GBK').encode("utf-8"))
print type('\xc4\xe3\xba\xc3')
print (u'你好'.encode('GBK') == '\xc4\xe3\xba\xc3')
True
要看你文件的编码格式,可能你读出来的是byte流。
在python中,不区分str和byte[]。
输入:print type(u'你好')
输出:
输入: print type('\xc4\xe3\xba\xc3'.decode('GBK'))
输出:
输入: print type('\xc4\xe3\xba\xc3'.decode('GBK').encode("utf-8"))
输出:
输入: print type('\xc4\xe3\xba\xc3')
输出:
输入: print (u'你好'.encode('GBK') == '\xc4\xe3\xba\xc3')
输出:True