2 jerry  j Jerry__J 于 2016.02.29 17:22 提问

Python读取中文有问题!! 2C

图片说明图片说明
Python中用open打开文件(内容是中文),读取结果出问题

6个回答

a460708485
a460708485   2016.02.29 17:31

我刚学Python,我觉得关键看你Python是什么版本的,python3.0之前需要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ,Python3.0好像是utf-8编码集成的

a460708485
a460708485   2016.02.29 17:32

我刚学Python,我觉得关键看你Python是什么版本的,python3.0之前需要在文件开头加入 # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ,Python3.0好像是utf-8编码集成的

BieberSen
BieberSen   2016.02.29 18:20

f.read().decode("GBK").encode("utf-8")

oyljerry
oyljerry   Ds   Rxr 2016.02.29 19:41

你最好指定字符集的方式来打开文件, codecs.open

linzihuangwoo
linzihuangwoo   2016.03.02 21:45

要看你文件的编码格式,可能你读出来的是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

linzihuangwoo
linzihuangwoo   2016.03.02 21:47

要看你文件的编码格式,可能你读出来的是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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!