UTF8是国际编码,它的通用性比较好,GBK是国家编码,通用性比UTF8差。 GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。 GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
这个网上有蛮多资料的,你可以去搜一下就有
先在内存中转换成为我Unicode编码,然进行转换
1、将utf-8编码的中国转换为gbk编码的
s='中国'
b=s.encode('utf-8')#编码
print(b,type(b))#得到utf-8编码的中国
#b'\xe4\xb8\xad\xe5\x9b\xbd'
g=b.decode('utf-8')#得到解码Unocode的中国
print(g)#中国
g=g.encode('gbk')#制定gbk编码
print(g)#b'\xd6\xd0\xb9\xfa'
2、gbk编码转换为utf-8编码
s='中国'
b=s.encode('gbk')#编码
print(b)#b'\xd6\xd0\xb9\xfa'
g=b.decode('gbk')
print(g)#中国
g=g.encode('utf-8')
print(g)#b'\xe4\xb8\xad\xe5\x9b\xbd'