编码:把计算机理解的语言,转换成人类理解的语言。
ASCLL码:通用的单字节编码表。255个字符。
计算机容量:8bit -> byte -> 1个byte 代表一个ascll码表上的一个字符。2个byte代表一个unicode表上的一个字符。
1024byte -> 1kb 1024KB -> 1M 1024 = 2e10
GB2312:支持中文的第一张表,1980年包含7000多汉字和字符。包含的汉字比较少。
GBK1.0: 包含2万多汉字。1995年扩展GB2312.
GB18030: 2000年扩展取代GBK1.0成为正式国家标准,包含27000汉字,包含繁体。PC平台必须支持GB18030.嵌入式平台(mp3,手机)只要求支持 GB2312.
unicode:万国码。国际标准。支持所有国家和地区语言编码。一个字符统一占用2个字节。unicode向下兼容GB2312、GBK1.0。用于沟通不同国家编码表。encode编码 和 decode解码
utf-32:国际标准。unicode编码的扩展集,一个字符占四个字节。可存2e32个字符
utf-16:国际标准。unicode编码的扩展集,一个字符占两个字节或2个以上。可存 2e16=65535个字符
utf-8: 国际标准。unicode编码的扩展集,支持所有国家语言编码。可变长的字符编码。英文(ascll表中)字符统一用一个字节存储。欧洲字符用两个字节存储。中文(东亚)字符统一用三个字节存储。2e8
s = "你好" //utf-8编码
s_to_unicode = s.decode("utf-8") //将utf-8解码成unicode
unicode_to_gbk = s_to_unicode .encode("gbk");//将unicode编码成gbk
解码:用来将其他编码解码成unicode
编码:用来将unicode编码成其他编码。