encode,decode

在Python3中,str类型的对象都是Unicode,因此对于str类型的对象只有encode()方法,没有decode()方法(若运行,会报错)

encode(编码):按照某种规则将“文本”转换为“字节流”。
python 3中表示:unicode变成str

decode(解码):将“字节流”按照某种规则转换成“文本”。
python3中表示:str变成unicode

1.字符串在Python内部的表示是Unicode编码,
因此在做编码转换时,通常需要以Unicode作为中间编码,
即先将其他编码的字符串解码(decode)成Unicode,
再从Unicode编码(encode)成另一种编码。
u代表Unicode类型,s代表str类型

2.u.encode('...'):只要你填写了正确的编码,
基本上总是能成功的。就像任何文件都可以压缩成zip文件。
u.decode('...'):没有任何意义,
因为decode是将str转为unicode编码,
而u本身就是unicode编码的。

3.s.encode('...'):在python 3中,将产生一个编码后的byte类型的字符串(这里有点像Python 2.x中的str),byte类型的字符串是支持解码操作的。

s.decode('...'):运行都会出错。因为python 3中的str类型对象有点像Python 2中的unicode, 而decode是将str转为unicode编码,所以str仅有一个encode方法,调用这个方法后将产生一个编码后的byte类型的字符

你可能感兴趣的:(encode,decode)