Python bytearray() 函数用法
2023-09-17 22:23:33
bytearray()
方法返回一个 bytearray 对象,该对象是给定字节的数组。字节数组类是 0 到 256 范围内的可变整数序列。
语法:
bytearray(source, encoding, errors)
参数:
- 源:(可选)用于将其转换为字节数组的整数或可迭代对象。
- 如果源是字符串,则必须使用编码参数。
- 如果源是整数,则数组将具有该大小,并将使用空字节进行初始化。
- 如果源是符合缓冲区接口的对象,则将使用该对象的只读缓冲区来初始化字节数组。
- 如果源是可迭代对象,则它必须仅在 0 到 256 范围内具有整数元素。
- 编码:(可选)如果源是字符串,则字符串的编码。
- 错误:(可选)编码转换失败时要执行的操作。
返回值:
返回字节数组。
下面的示例将整数转换为字节数组。
print(bytearray(1)) # A byte array of size 1
print(bytearray(2)) # A byte array of size 2
print(bytearray(3)) # A byte array of size 3
输出:
bytearray(b'\x00')
bytearray(b'\x00\x00')
bytearray(b'\x00\x00\x00')
如果 source
参数是字符串且未指定编码方法,则返回TypeError
异常。
print(bytearray('Hello World'))
输出:
TypeError: string argument without an encoding
需要指定编码方法以返回字符串的字节数组对象,如下所示。
print(bytearray('Hello World','utf-8'))
输出:
bytearray(b'Hello World')
迭代对象也可以转换为字节数组对象,如下所示。
nums = [1, 2, 3, 4, 5]
print(bytearray(nums))
输出:
bytearray(b'\x01\x02\x03\x04\x05')