python3
一、简单的概念与术语
编码(动词):按照某种规则(这个规则称为:编码(名词))将“文本”转换为“字节流”。而在python 3中则表示:unicode变成str
解码(动词):将“字节流”按照某种规则转换成“文本”。而在python3中则表示:str变成unicode
实际上,任何东西在计算机中表示,都需要进行编码。例如,视频需要编码然后保存在文件中,播放的时候需要解码才能观看。
二、Python中encode、decode的使用叙述
首先,encode是unicode转换成str;decode是str转换成unicode。
s.encode('...'):在python 3中,将产生一个编码后的byte类型的字符串(这里有点像Python 2.x中的str),byte类型的字符串是支持解码操作的。
s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符。
三、文件读取过程中之前是以什么方式(gbk/utf8)编码存储,在打开时就需要以什么方式解码。python3中str相当于unicode类型
with open(r'D:\python\cfiles\gbk编码.txt',encoding='gbk') as f1,\
open(r'D:\python\cfiles\utf8编码.txt',encoding='utf8') as f2:
con1=f1.read()
con2=f2.read()