文件编码同字符串在内存中的编码相同。例如:,程序运行后,结果如下:
2
3 u1 = '你好'.decode('gbk')
4 u2 = '你好'.decode('utf8')
5 print u1
6 print u2
文件编码为 utf8
浣犲ソ例如,有一个test.txt的文件,它的编码为gbk,现在我需要将它的编码转换为utf8,可以编写如下代码:
2 import codecs
3
4 # 打开文件
5 fin = open('test.txt', 'r')
6 fout = open('utf8.txt', 'w')
7
8 # 获取 StreamReader
9 reader = codecs.getreader('gbk')(fin)
10 # 获取 StreamWriter
11 writer = codecs.getwriter('utf8')(fout)
12
13 din = reader.read(10)
14 while din:
15 writer.write(din)
16 din = reader.read(10)