字节序列

bytesbytearray 是 Python 内建的两种二进制数据类型,它们都用于表示字节序列,即由一系列字节组成的不可变(bytes)或可变(bytearray)序列。

bytesbytearray 都可以用来存储二进制数据,如图片、音频、视频等文件。它们的元素是 0 到 255 之间的整数(即一个字节),每个整数对应一个 ASCII 码表中的字符或一个二进制数据。

bytes 是不可变的序列,因此不能像列表那样修改它的元素。可以使用下标操作符 [ ] 或切片操作符 [:] 访问 bytes 对象中的元素,但是无法通过下标或切片修改 bytes 对象中的元素。

bytearray 是可变的序列,可以像列表一样修改它的元素,也可以使用 append()extend()insert() 等方法来修改 bytearray 对象。

下面是一个使用 bytesbytearray 的示例:

## 创建一个 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')