"""编码问题 在python3中只有两种数据类型 1、str:编码形式是unicode,unicode任一字符编码都存在 2、bytes:编码形式是十六进制 """ #编码encoding #utf, gbk都只是一种编码规则,按照各自的规则进行编码,可以存在多种编码规则 s = 'hello中国' #在内存中是以unicode编码存储的,这是unicode编码 #str--->>>bytes 这个叫做编码 b1 = s.encode('utf8') print(b1) # b'hello\xe4\xb8\xad\xe5\x9b\xbd' 用三个十六进制数字表示一个中文字符,这里hello对应acssi码 b2 = bytes(s, 'utf8') print(b2) # b'hello\xe4\xb8\xad\xe5\x9b\xbd' 用三个十六进制数字表示一个中文字符,这里hello对应acssi码 b3 = s.encode('gbk') print(b3) #b'hello\xd6\xd0\xb9\xfa' 用两个十六进制数字表示一个中文字符 #bytes --->>>str 这个叫做解码 s1 = str(b1, 'utf-8') print(s1) #hello中国 s2 = b2.decode('utf-8') print(s1) #hello中国 s3 = str(b3, 'gbk') print(s3) #hello中国 #总结:按照什么进行编码就按什么规则进行解码
python3编码问题
最新推荐文章于 2024-05-22 20:26:52 发布