考虑以下打字稿:
>>> 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
。
答案 0 :(得分:4)
您正在查看错误的文档。
这种等价仅适用于Python 2.7。在那里,bytes
被引入为str
的别名,以便于迁移到Python 3。
在Python 3中,str
之前称为unicode
,bytes
是以前称为str
的类型。
Python 2 str.decode
的文档是here。