考虑以下 typescript :
>>> s = 'a'
>>> isinstance(s, bytes)
True
>>> isinstance(s, str)
True
>>> isinstance(s, unicode)
False
>>> isinstance(s.decode('utf-8'), unicode)
True
为什么 s
既是 str
又是 bytes
?其中一个是另一个的后代吗?
我是怎么遇到它的?我试图在文档中找到 decode
方法的描述。我找不到 str
,但可以找到 bytes
.
最佳答案
您正在查看错误的文档。
这种等价性只在 Python 2.7 中成立。在那里,bytes
作为 str
的别名引入为了简化向 Python 3 的迁移。
在 Python 3 中,str
就是之前所说的unicode
, bytes
是以前称为 str
的类型.
str.decode
的文档对于 Python 2 是 here .
关于python - python中str和bytes有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40658535/