python的io正常吗?BytesIO.getvalue() 返回 str 而不是字节?



python的io.BytesIO.getvalue()返回str而不是字节是否正常?

 Python 2.7.1 (r271:86832, Jun 13 2011, 14:28:51) 
 >>> import io
 >>> a = io.BytesIO()
 >>> a
 <_io.BytesIO object at 0x10f9453b0>
 >>> a.getvalue()
 ''
 >>> print type(a.getvalue())
 <type 'str'>
 >>> 

我应该提交一个bug吗?

不,这不是一个bug。这是正常行为。看到这个答案:python 2.7和PEP-358 中的字节类型

基本上可以归结为2.7 bytes只是str的别名,用于平滑到3.x的转换。

bytes在Python2.X中不是作为一种单独的数据结构存在的,所以是的,这是完全正常的-str是Python2中的字节串(不像Python3,str是unicode字符串)。

相关内容

  • 没有找到相关文章