Python bytearray()内置函数 --返回一个新的字节数组

bytearray 类是一个可变序列,包含范围为 0 <= x < 256 的整数,返回一个新的 bytes 数组

格式及参数

1
class bytearray([source[, encoding[, errors]]])

可选形参 source 可以用不同的方式来初始化数组:

  • 如果是一个 字符串 ,则必须提供 encoding ,按照指定的 encoding字符串 转换为 字节数组
  • 如果是一个 整数 ,则创建一个长度为该 整数 且每个字节均为空的 字节数组
  • 如果是一个遵循 缓冲区接口 的对象,则该对象的只读缓冲区将被用来初始化字节数组
  • 如果是一个 可迭代对象 ,则元素的范围必须是 [0,256) 的整数
  • 如果没有实参,则创建大小为 0 的数组

encoding : 编码方式
errors : 编码失败时返回的值

参考资料

实例(python3.8.8)

没有实参

1
2
3
4
5
print(bytearray())

''' 输出
bytearray(b'')
'''

source 是字符串,必须提供encoding

1
2
3
4
5
6
str = '雨园博客'
print(bytearray(str, 'utf-8'))

''' 输出
bytearray(b'\xe9\x9b\xa8\xe5\x9b\xad\xe5\x8d\x9a\xe5\xae\xa2')
'''

source 是整数

1
2
3
4
5
6
int = 12
print(bytearray(int))

''' 输出
bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
'''

source 是可迭代对象,且元素的值在 [0,256) 之间

1
2
3
4
5
6
iterable = [1, 2, 3]
print(bytearray(iterable))

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

补充

bytes和bytearray操作