字节序列
bytes 和 bytearray 是 Python 内建的两种二进制数据类型,它们都用于表示字节序列,即由一系列字节组成的不可变(bytes)或可变(bytearray)序列。
bytes 和 bytearray 都可以用来存储二进制数据,如图片、音频、视频等文件。它们的元素是 0 到 255 之间的整数(即一个字节),每个整数对应一个 ASCII 码表中的字符或一个二进制数据。
bytes 是不可变的序列,因此不能像列表那样修改它的元素。可以使用下标操作符 [ ] 或切片操作符 [:] 访问 bytes 对象中的元素,但是无法通过下标或切片修改 bytes 对象中的元素。
bytearray 是可变的序列,可以像列表一样修改它的元素,也可以使用 append()、extend()、insert() 等方法来修改 bytearray 对象。
下面是一个使用 bytes 和 bytearray 的示例:
## 创建一个 bytes 对象
b = b'hello world'
print(b[0]) # 输出:104
## b[0] = 72 # 错误:bytes 对象不可变
## 创建一个 bytearray 对象
ba = bytearray(b)
print(ba[0]) # 输出:104
ba[0] = 72
print(ba) # 输出:bytearray(b'Hello world')