字符编码

一、ascii码:

基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,最多只能用8位标识,即2**8=256-1,所以最多只能表示255个字符。
python字符编码_第1张图片

计算机沿用中国,中文显然远大于255字符,必须要对中文进行编码

二、中文编码

为处理汉字,程序设计用于简体中文GB2132和繁体中文big5

GB2312(1980年) 共7445个字符,包括6763个汉字和682个其它符号,
GBK1.0(1995年)收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符
GB18030(2000)取代GBK1.0证实成为国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。
总结:1、从ASCII,GB2312,GBK到GB18030,编码方法向下兼容。
2、中文版Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030

三、unicode码

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode。它为每种语言中每个字符设定了统一并且唯一的二进制编码。最少2个字节,可能更多

四、utf-8:

对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...