Python学习心得编码与解码
背景:两个设备之间的沟通使用的二进制数,如果想传递字符串类型的数据就需要将字符串转化成二进制传递,接收方想要获得就需要将其进行解码。将二进制码转化成字符串类型的数据。
一、字符串的编码:
将str类型数据转化成bytes类型的数据,用到字符串的是str.encode()方法。
1. 语法结构:
str.encode(encoding= 'utf-8',
errors='strict/ignore/replace')
2。字符串编码的运用:
s='伟大的中国梦'
encode=s.encode('utf-8',errors='replace')
print(encode)
#使用gbk进行编码
encode_gbk=s.encode('gbk',errors='strict')
print(encode_gbk)
#如果在编码的过程中遇到不能进行编码的字符时(就是出错问题)
s2='耶✌'
encode_error=s2.encode(errors='replace')#replace能正常进行
encode_error=s2.encode(errors='strict')#如果换成strict时会发生报错
print(encode_error)
注:str.encode()默认的是'utf-8',将中文字符编码成三个二进制字符,'gbk'是将中文字符编码成两个二进制字符。
注:如果在字符串中含有不可编码的内容时,如果为errors='strict'时,就会报错,如果为errors='replace'时,能正常进行运行。
二、字符串的解码:
将bytes类型数据转化成str类型的数据,用到二进制的是bytes.decode()方法。
1.语法结构:
bytes,decode(ecoding='utf-8',
errors='strict/ignore/replace')
2.字符串解码的运用:
#字符串的解码,这里有一个要点就是用gbk编码的就得用gbk进行解码
print(bytes.decode(encode_gbk,'gbk'))
print(bytes.decode(encode,'utf-8'))
注:解码时,注意格式()中要先写上被解码的字符串,然后再写上'gbk'或者是'utf-8',这要看最一开始用的什么进行的编码。