python之03编码学习
编码介绍
ASCII :只能存英文和拉丁字符,一个字符占一个字节,8位
在中国的发展:
gb2312:存6700多个中文 1980年
gbk1.0 :存2万多字符 1995年
gb18030:存27000中文 2000年
在国际上的发展:
unicode:utf-32:一个字符占4个字节
unicode:utf-16:一个字符占两个字节
unicode:utf-8 :一个英文用ascii码来村,一个中文占3个字节。
备注:unicode更像是一种标准,他的具体实现形式有utf-32,utf-16和utf-8。在python里默认的unicode中的utf-16
python3 encode 和 decode
# Author:Administrator # date: 2019/1/24 import sys print(sys.getdefaultencoding()) # 获取默认的文件编码是utf-8 # 在python3里,文件中字符的默认编码是unicode s = "茹月" print(s) s_to_gbk = s.encode("GBK") # encode 在python3里会把其转成GBK对应的字节码 print(s_to_gbk) s_to_unicode = s_to_gbk.decode("GBK") # decode 在python3里会把GBK对应的字节码转成unicodde对应的字符串。 print(s_to_unicode)
python2 encode 和 decode
见下图


浙公网安备 33010602011771号