1.什么是字符编码
字符编码,看名字就是一种字符的编码格式,由于计算机内部采用二进制,想要将人类的语言字符输入到计算机就需要一种编码格式,这就是字符编码.字符-------编码(字符编码表)----->二进制.
计算机存取人类输入的内容并不是直接保存的,因为计算机并不懂人的语言,每个国家还有每个国家的语言.那么怎么办呢?于是就有一种统一的规定,人类输入到内存中的信息都存为uncode字符编码格式的,再由内存存入计算机硬盘.硬盘有很多种编码格式,这是因为为了向下兼容.而我们在学习时只需要大致了解就行了.
unicode:目前的计算机内存使用的就是这种编码格式,能够兼容万国的字符,与别的字符编码都有一种对应关系.
utf-8:英文名为(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码.
gbk:是为了兼容汉字的字符编码
2.python2与python3的区别
python2:在python2中将文件读入到内存中使,解释器默认使用的是ASCII码.但是在文件的首行写上 coding:utf-8,解释器就会按将utf-8作为编码标准不再使用默认的字符编码,这就是文件头了.
python3:解释器默认使用utf-8
总结:为了保证不乱码的关键! 字符当初存储在计算机中使是用什么编码的,就应该用什么解码.