Python bytearray()

时间:2020-02-23 14:42:28  来源:igfitidea点击:

Python bytearray()函数返回一个bytearray对象,该对象包含来自输入源的字节数组。
bytearray类是可变的,因此我们可以更改其元素值。

Python bytearray()

Python bytearray()函数语法为:

class bytearray(]])

source用于初始化bytearray对象数组元素。
这是一个可选参数。

除非源是字符串,否则" encoding"是可选的。
用于使用str.encode()函数将字符串转换为字节。

错误是可选参数。
如果来源是字符串,并且由于某些错误导致编码失败,则使用此格式。

根据数据源的类型,bytearray()函数后面有一些特定的规则。

  • 如果未传递任何参数,则返回空字节数组。

  • 如果source是整数,则使用空值初始化给定长度的字节数组。

  • 如果source是字符串,则编码是强制性的,用于将字符串转换为字节数组。

  • 如果source是可迭代的(例如list),则它必须是0 <= x <256范围内的整数的可迭代对象,这些整数用作数组的初始内容。

我们来看一些bytearray()函数的示例。

不带参数的bytearray()

b = bytearray()
print(b)

输出:

bytearray(b'')

具有字符串和可变性的bytearray()

# string to bytearray
# encoding is mandatory, otherwise "TypeError: string argument without an encoding"
b = bytearray('abc', 'UTF-8')
print(b)
b[1] = 65  # mutable
print(b)

输出:

bytearray(b'abc')
bytearray(b'aAc')

具有int参数的bytearray()

b = bytearray(5)
print(b)

输出:

bytearray(b'\x00\x00\x00\x00\x00')

具有可迭代的bytearray()

b = bytearray([1, 2, 3])
print(b)

输出:

bytearray(b'\x01\x02\x03')