python中编码问题来源:
1.源文件采取编码方式:如文本文件的编码方式,gbk,utf-8,ascii等
2.python文件中字符采用哪种编码方式:可以指定,通过在python文件首行写:# -*-coding: utf-8-*-
3.显示设备采用哪种编码打印信息,一般与操作系统有关:str.decoding('utf-8')或unicode(str,'utf-8')方法解码信息进行输出,一般与源文件的编码方式相对应。
例子:
1 # coding=gbk
该python文件采用gbk编码
2 import codecs3
4 f = codecs.open('c:/intimate.txt','a','utf-8')
打开文件的编码方式是utf-8
5 f.write(u'中文')
直接写入文件
6 s = '中文'
%gbk编码的字符串
7 f.write(s.decode('gbk'))
%按gbk解码后写入文件,即utf-8编码写入
8 f.close()
9
10 f = codecs.open('c:/intimate.txt','r','utf-8')打开文件的编码方式是utf-8
11 s = f.readlines()
读取文件所有内容
12 f.close()
13 for line in s:
14 print line.encode('gbk') 从文件中读取的是utf-8,按gbk编码输出