python 默认编码格式是ASCII 所以一般对中文编码会产生问题,这就需要有一套专门的编码方法来处理!
encode(params)就是处理编码的方法,像汉字这些编码肯定不会被ASCII支持,这就需要在输出python的文件之前把文件内容编码一下,编码成想要的内容然后输出到目的文件,相反,当从目标文件读取数据时候也要相应的根据目标文件的编码内容来解码decode(params),python 会把对应的内容转为python 需要的格式ASCII.
所以在处理python编码问题上就保持 “一进一出原则”(自己突发奇想出来的词汇) 一进的内容根据内容的编码格式转为python 内部格式(就是decode(params)),一出的内容就根据目标需要的编码格式来编码 encode(params)
Params 参数就是编码和解码的具体格式 可以是’utf-8’ ,’gbk’ 等格式
附上一个简单的小列子 可以在 git 上下载运行。
下面是代码例子,不要Control -c + Control +v ,可能运行报错,因为格式对齐肯定有问题,毕竟不是专业的编辑工具,需要自行调整
#! /usr/bin/env python
# -*- coding:UTF-8 -*-
'test Chinese character encoding'
CODEC ='utf-8'
FILE ='unicode.txt'
defwriteToFile(params):
str = params
outPutStr = str.encode(CODEC)
f = open(FILE,'w')
f.write(outPutStr)
f.close()
defreadFromFile():
f = open(FILE,'r')
inOutStr = f.read()
f.close()
str = inOutStr.decode(CODEC)
printstr
if__name__ =='__main__':
writeToFile(u'中华人民共和国')
readFromFile()