Python读取中文有问题!!

图片说明图片说明
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