python_day25__02_编码问题_什么时候用utf8和gbk

时间:2022-02-02 14:13:47
py3中只有 str和bytes两种数据类型

str: unicode编码(万国码,全世界都能看懂的一种编码方式)
s = 'hello袁浩' #内部寸的是一个个unicode编码

bytes:十六进制

#utf8编码
由str转到bytes叫做编码
b1 = bytes(s,'utf8') #把字符串格式的str转换为由utf8编码的十六进制类型b1,而utf8是世界公认的
#utf8规定一个汉字占3个字节
b2 = bytes(s,'gbk) #把字符串格式的str转换为由gbk编码的十六进制类型b2
#编码方式一
b3 = bytes(s,'utf8')
#编码方式二
b4 = s.encode('utf8')

#utf8解码
由bytes转换到str叫解码
#解码方式一
s1 = str(b1,'utf8') #由于s1是由utf8规则变成bytes的,所以这里解码也要用utf8规则
#解码方式二
s2 = b1.decode('utf8')

#gbk编码
b5 = s.encode('gbk')
#gbk解码
s3 = b5.encode('gbk')