有什么区别bytearray和例如a list或tuple?
顾名思义,bytearray必须是array携带byte物品.
在python中,似乎bytes并且str被平等对待
>>> bytes
<type 'str'>
Run Code Online (Sandbox Code Playgroud)
那么区别是什么呢?
另外,如果你打印一个bytearray,结果很奇怪
>>> v = bytearray([200, 201])
>>> print v
ÈÉ
Run Code Online (Sandbox Code Playgroud)
它似乎转换整数chr(integer),是吗?bytearray当时有什么用?
pok*_*oke 11
你在某种程度上是正确的:在Python 2中,bytes它是str类型的同义词.这是因为最初没有bytes对象,只有str和unicode(后者用于unicode字符串,即具有多字节功能).当Python 3出现时,他们改变了整个字符串,并使unicode成为默认的Python 3 str类型,并将它们添加bytes为原始字节序列的类型(使其等同于Python 2的str对象).
因此,尽管在Python 3你之间的不同str和bytes,相应的类型在Python 2 unicode和str.
现在让这个bytearray类型变得有趣的是它是可变的.上面的所有字符串和字节序列都是不可变的,因此每次更改时,您都要创建一个新对象.但是您可以修改bytearray对象,使它们对于需要修改序列中的单个字节的各种目的而言很有趣.
| 归档时间: |
|
| 查看次数: |
1881 次 |
| 最近记录: |