bytearray
是 Python 中用于创建可变字节数组对象的内置函数。它允许您创建一个类似于列表的可修改字节序列。字节数组中的每个元素都是一个介于 0 到 255 之间的整数(即字节值)。
函数语法
bytearray(source, encoding, errors)
参数:
source
(可选):这是初始化字节数组的参数。它可以是以下类型之一:
- 如果未提供
source
参数,则创建一个空的字节数组。 - 如果
source
是整数,则创建指定大小的初始字节数组,每个元素都初始化为零。 - 如果
source
是一个字节序列(例如字节字符串、字节数组或类似的对象),则创建一个字节数组,其元素是source
中的字节。 - 如果
source
是一个可迭代对象(如列表、元组、范围等),则创建一个字节数组,其元素是迭代对象中的整数,每个整数都应在 0 到 255 的范围内。
encoding
(可选):指定如何将 source
编码为字节序列。默认值为 None
,这意味着直接将整数值存储在字节数组中。errors
(可选):指定在编码过程中遇到错误时的处理方式。默认值为 'strict'
,表示引发一个 UnicodeDecodeError。其他可能的值包括 'ignore'
、'replace'
等,与字符串的编码行为相似。
示例代码
创建空的字节数组:
empty_bytearray = bytearray()
print(empty_bytearray)
# Output: bytearray(b'')
使用整数初始化字节数组:
initialized_bytearray = bytearray(5) # Create a bytearray of size 5
print(initialized_bytearray)
# Output: bytearray(b'\x00\x00\x00\x00\x00')
从字节序列创建字节数组:
bytes_data = b'hello'
bytearray_from_bytes = bytearray(bytes_data)
print(bytearray_from_bytes)
# Output: bytearray(b'hello')
从可迭代对象创建字节数组:
iterable_data = [65, 66, 67, 97, 98, 99] # ASCII values of 'ABCabc'
bytearray_from_iterable = bytearray(iterable_data)
print(bytearray_from_iterable)
# Output: bytearray(b'ABCabc')
总结
bytearray
函数用于创建可变的字节数组对象。它可以从不同类型的输入数据(整数、字节序列、可迭代对象)创建字节数组。这些字节数组可以进行修改,适用于处理原始字节数据,如网络协议、二进制文件等。要注意,字节数组中的每个元素都是介于 0 到 255 之间的整数。