编码:
将文本转换成字节流的过程。即Unicode----------->特定格式的编码方式,产生特定的字节流保存在硬盘中(一般为utf-8格式)。
解码:
将硬盘中的字节流转换成文本的过程。即特定格式的字节流------------->Unicode。
注意:
在内存中写的所有的字符,一视同仁,都是Unicode编码,但只有往硬盘保存或者基于网络传输时,才能确定你输入的字符是英文还好汉文,这就是Unicode转换成其他编码格式的过程。
在Python3中的字符串类型:
文本字符串类型:
即我们通常定义的str类型的对象。在Python3中,str类型的对象都是Unicode,因此对于str类型的对象只有encode()方法,没有decode()方法(若运行,会报错)。
字节字符串类型:
即byte类型的对象。对于该类对象,是由str类型对象使用encode()方法产生,byte对象可以进行解码过程,从而得到真正的内容。
避免出现乱码的准则:
遵循编码使用哪种格式,解码就使用哪种格式。