如何在python中使用bytearray函数?

我们学习了很多关于序列的函数,大都是不可变的,其实有一个可变的序列,在字节的调整上也非常灵活,这就是我们今天要讲的bytearray函数。在类型上,bytearray属于字节数据,和我们之前学的bytes相似。下面我们就一起看看bytearray函数的说明,参数、返回值和实例吧。

1.说明

(1) 返回值为一个新的字节数组

(2) 当3个参数都不传的时候,返回长度为0的字节数组

>>>b=bytearray()
>>>b
bytearray(b'')
>>>len(b)
0

(3)当source参数为字符串时,encoding参数也必须提供,函数将字符串使用str.encode方法转换成字节数组

>>>bytearray('中文')
Traceback(mostrecentcalllast):
File"<pyshell#48>",line1,in<module>
bytearray('中文')
TypeError:stringargumentwithoutanencoding
>>>bytearray('中文','utf-8')
bytearray(b'\xe4\xb8\xad\xe6\x96\x87')

2.参数

  • 如果 source 为整数,则返回一个长度为 source 的初始化数组;

  • 如果 source 为字符串,则按照指定的 encoding 将字符串转换为字节序列;

  • 如果 source 为可迭代类型,则元素必须为[0 ,255] 中的整数;

  • 如果 source 为与 buffer 接口一致的对象,则此对象也可以被用于初始化 bytearray。

  • 如果没有输入任何参数,默认就是初始化数组为0个元素。

3.返回值

返回新字节数组。

4.实例

>>>S=b"abcd"
>>>BA=bytearray(S)

>>>[iforiinBA]
[97,98,99,100]

>>>BA[0]=65
>>>BA
bytearray(b'Abcd')

bytearray是可变的二进制数据(byte)。

要构造bytearray对象,方法之一是将bytes数据作为bytearray()方法的参数,或者将str数据和编码作为参数。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。