一.字符串的编码与解码
计算机之间传输信息是通过二进制bytes类型数据进行传送的
即将输入数据转换成bytes类型的过程叫编码,将bytes类型转换成原输入数据类型的过程叫做解码
字符串的编码:encode()
语法格式:str.encode(encoding='utf-8',errors='strict/ignore/replace')
#errors表示出错的解决方法
字符串的解码:decode()
语法格式:bytes.decode(encoding='utf8',errors='strict/ignore/replace')
#使用utf-8编码,就要使用utf-8解码;使用GBK编码,就要使用GBK解码
1.1 编码
#编码 a='健康快乐幸福' score=a.encode(errors='replace') print(score)#在utf-8编码中,一个汉字占8个字节,b'\xe5\x81\xa5\xe5\xba\xb7\xe5\xbf\xab\xe4\xb9\x90\xe5\xb9\xb8\xe7\xa6\x8f' score=a.encode(encoding='GBK',errors='ignore') print(score)#在GBK编码中,一个汉字占2个字节,b'\xbd\xa1\xbf\xb5\xbf\xec\xc0\xd6\xd0\xd2\xb8\xa3' b='北京✋' score=b.encode(encoding='GBK',errors='ignore') print(score)#b'\xb1\xb1\xbe\xa9' '''score=b.encode(encoding='GBK',errors='strict') print(score)#报错 '''
1.2 解码
b='健康快乐幸福'
score=b.encode(encoding='gbk',errors='ignore')
print(score)#str-bytes b'\xbd\xa1\xbf\xb5\xbf\xec\xc0\xd6\xd0\xd2\xb8\xa3'
#解码
print(bytes.decode(score,encoding='gbk',errors='ignore'))#bytes-str 健康快乐幸福
1.3 练习
c='我爱中国' cc=c.encode('utf-8','replace') print(cc)#b'\xe6\x88\x91\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd' print(bytes.decode(cc,'utf-8','replace'))#我爱中国