美文网首页
python3中各种编码问题

python3中各种编码问题

作者: blair_liu | 来源:发表于2021-03-09 21:02 被阅读0次

python3 字符串str编码是unicode
所以下面两个字符串是等价的

s1 = "你好,中国!"
s2 = u"你好,中国!"

python3中unicode是没有decode(解码)属性

s3 = s1.decode("utf-8")  # 报错
AttributeError: 'str' object has no attribute 'decode'

编码成gbk 或 utf-8

s4 = s1.encode('gbk')
print(s2)      # b'\xc4\xe3\xba\xc3\xa3\xac\xd6\xd0\xb9\xfa\xa3\xa1'
print(type(s2))    # <class 'bytes'>
s5 = s1.encode('utf-8')
print(s3)      # b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\xad\xe5\x9b\xbd\xef\xbc\x81'
print(type(s3))    # <class 'bytes'>

可以看出字符串编码后就变成了bytes类型,解码后是unicode的,也就是str

相关文章

网友评论

      本文标题:python3中各种编码问题

      本文链接:https://www.haomeiwen.com/subject/xggbqltx.html