字符编码及在python中的使用
一、字符编码
概念讲解:
对于文本文件,因为计算机只认识二进制,所以需要一个翻译本来充当媒介让计算机能读懂我们的语言,这个翻译本叫做字符编码表。
发展历史:
1、首先由美国人发明计算机并开发出了ASCII码表
A-Z : 65-90
a-z :97-122
2、当计算机逐渐在世界普及之后,各个国家都创建了各自的字符编码表:中国的GBK等
3、当各个国家交流的时候,会因为各自使用的字符编码表不同,出现乱码的情况,所有开发了unicode万国码,兼容所有国家语言字符,起步就是两个字节来表示字符 。并在后期的优化中发展了其他版本如果utf系列:utf8 utf16 ...。专门用于优化unocide存储问题,英文还是采用一个字节,中文三个字节。通常我们使用的是utf8.
使用讲解:
编码及解码
我们可以在python中编码或是解码
编码:
字符串.encode(内部可以跟上你想使用的字符编码表名称来编码)
解码:
字符串.decode(这里的话需要使用跟编码相同的字符编码表,否则会报错)
python2和python3中的区别
由于python2开发的年代早于unicode万国码,所以python不能识别unicode万国码,因此我们需要在文件的顶端加上# encoding:utf8,并在字符串的前面加上一个u,python3中的默认字符编码是utf8.
python2默认的编码是ASCII
1.文件头
# encoding:utf8
2.字符串前面加u
u'你好啊'