跳到主要内容

Python bytearray() 函数

bytearray() 方法返回一个字节数组对象,它是给定字节的数组。

示例

prime_numbers = [2, 3, 5, 7]

# 将列表转换为字节数组
byte_array = bytearray(prime_numbers)
print(byte_array)

# 输出:bytearray(b'\x02\x03\x05\x07')

bytearray() 语法

bytearray() 方法的语法是:

bytearray() 方法返回一个字节数组对象(即字节的数组),它是一个可修改的(可被改变的)整数序列,范围在 0 <= x < 256

如果你想要不可变的版本,请使用 bytes() 方法。

bytearray() 参数

bytearray() 接受三个可选参数:

  • source (可选) - 初始化字节数组的源。
  • encoding (可选) - 如果源是字符串,字符串的编码。
  • errors (可选) - 如果源是字符串,当编码转换失败时采取的行动(更多阅读:字符串编码

source 参数可用于以下方式初始化字节数组:

类型描述
字符串使用 str.encode() 将字符串转换为字节。必须同时提供 encoding 和可选的 errors
整数创建一个提供大小的数组,所有元素初始化为 null
对象对象的只读缓冲区将用于初始化字节数组
可迭代对象创建一个等于可迭代对象计数的数组,并初始化为可迭代对象的元素。必须是 0 <= x < 256 之间的整数可迭代对象
无源(参数)创建大小为 0 的数组。

bytearray() 返回值

bytearray() 方法返回给定大小和初始化值的字节数组。

示例 1:来自字符串的字节数组

string = "Python 是有趣的。"

# 字符串使用 'utf-8' 编码
arr = bytearray(string, 'utf-8')
print(arr)

输出

bytearray(b'Python 是有趣的。')

示例 2:给定整数大小的字节数组

size = 5

arr = bytearray(size)
print(arr)

输出

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

示例 3:来自可迭代列表的字节数组

rList = [1, 2, 3, 4, 5]

arr = bytearray(rList)
print(arr)

输出

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