python编码
Posted wangsl1204
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编码相关的知识,希望对你有一定的参考价值。
参考文章:https://blog.csdn.net/yanghuan313/article/details/63262477
python编码:encode()
将Unicode字符按照编码规则(如UTF-8)编成字节序列。
>>> a = u"测试"
>>> a.encode("UTF-8")
‘xe6xb5x8bxe8xafx95‘
python解码:decode()
将字节序列按照编码规则(如UTF-8)解释成unicode。
>>> a = b"测试"
>>> a.decode("GBK")
u‘u5a34u5b2du762f‘
默认编码(str) | 总结 | ||
python2 | bytes(字节字符串) | unicode(文本字符串) | str 对象有一个encode方法,bytes 对象有一个decode方法,str有个encode()方法,unicode有个decode()方法,但永远不要使用它们。 |
python3 |
Unicode(文本字符串) |
bytes(字节字符串) |
str 对象有一个encode方法,bytes 对象有一个decode方法 |
# python2 >>> a = "测试" >>> type(a) <type ‘str‘> >>> a.decode("GBK") u‘u5a34u5b2du762f‘ >>> type(a.decode("GBK")) <type ‘unicode‘> >>> b = u"测试" >>> type(b) <type ‘unicode‘> >>> b.encode("GBK") ‘xb2xe2xcaxd4‘ >>> type(b.encode("GBK")) <type ‘str‘>
# python3
>>> a = "测试"
>>> type(a)
<class ‘str‘>
>>> a.encode("UTF-8")
b‘xe6xb5x8bxe8xafx95‘
>>> type(a.encode("UTF-8"))
<class ‘bytes‘>
>>>
>>> b = b"测试"
File "<stdin>", line 1
SyntaxError: bytes can only contain ASCII literal characters.
>>> b = b"wangsl"
>>> type(b)
<class ‘bytes‘>
>>> b.decode("UTF-8")
‘wangsl‘
>>> type(b.decode("UTF-8"))
<class ‘str‘>
# b‘‘表示bytes(二进制)类型;str表示unicode(字符)类型
# 如下是互相转换方式
b‘‘ = str.encode(‘utf-8‘)
str = b‘‘.decode(‘utf-8‘)
以上是关于python编码的主要内容,如果未能解决你的问题,请参考以下文章
从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration
《安富莱嵌入式周报》第279期:强劲的代码片段搜索工具,卡内基梅隆大学安全可靠C编码标准,Nordic发布双频WiFi6 nRF7002芯片