有什么区别bytearray
例如,一个list
or tuple
?
顾名思义,bytearray
必须是一个array
携带着byte
对象。
在Python中,似乎是这样的bytes
and str
受到平等对待
>>> bytes
<type 'str'>
那么区别是什么呢?
另外,如果您打印bytearray
,结果很奇怪
>>> v = bytearray([200, 201])
>>> print v
ÈÉ
它似乎将整数转换为chr(integer)
, 是对的吗?有什么用bytearray
then?
你在某种程度上是正确的:在Python 2中,bytes
是同义词str
类型。这是因为原本没有bytes
对象,只有str
and unicode
(后者用于 unicode 字符串,即具有多字节功能)。当 Python 3 到来时,他们改变了整个字符串,并使 unicode 成为默认的 Python 3str
类型,他们添加了bytes
作为原始字节序列的类型(使其相当于 Python 2 的str
目的)。
因此,在 Python 3 中,您的区别在于str
and bytes
,Python 2中对应的类型是unicode
and str
.
现在是什么使得bytearray
类型有趣的是它是可变的。上面的所有字符串和字节序列都是不可变的,因此每次更改时,您都会创建一个新对象。但你可以修改bytearray
对象,使它们对于需要修改序列中的各个字节的各种目的都很有趣。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)