#ASCII 255 1bytes,1980年GB2312 7000,1995年GBK1.0 2w,2000年GB18030,Unicode 1bytes,utf-8 en:1bytes zh:3bytes #都向下兼容。 #最后出现Unicode(统一码,万国码,单一码) #ASCII码一个英文站1个字节,8位 #Unicode中英文都站2个字节,16位 #utf-8 英文为1字节,中文为3字节

#GBK [decode]转换为unicode编码然后通过[encode]转换成utf-8 #utf-8[decode]转换为unicode编码然后通过[encode]转换成GBK

import sys

print(sys.getdefaultencoding())#打印默认使用的编码

#encode后都是字节(bytes)类型 decode转换成字符串 #decode后是unicode

q="你哈" #默认unicoude print(q) q_gbk=q.encode("gbk") # 默认是unicoude直接转换成gbk q_utf8=q.encode()#默认转成utf-8 print(q_gbk) print(q_utf8) gbk_to_utf8=q_gbk.decode("gbk").encode("utf-8") #告诉decode我是gbk转成unicode再encode成utf-8 print("utf-8",gbk_to_utf8)

utf8_to_gbk=q_utf8.decode("utf-8").encode("gbk")#告诉decode我是utf-8转换成unicode再转换成gbk print("gbk",utf8_to_gbk)

s="你哈"

#转换成gb2312 s_2312=s.encode("utf-8").decode("utf-8").encode("gb2312") s_2=s.encode("gb2312") print("gb2312",s_2312) print("gb2",s_2)