什么是 bytearray?
在 Python 中,bytearray 是一个可变的字节序列类型。它类似于 bytes,但允许就地修改内容。
每个元素是一个介于 0 到 255 之间的整数,代表一个字节。
创建 bytearray
# 从字符串创建(需指定编码)
ba = bytearray("Hello", "utf-8")
# 从整数列表创建
ba = bytearray([72, 101, 108, 108, 111])
# 创建指定长度的空 bytearray(初始化为0)
ba = bytearray(5)
# 从 bytes 对象创建
b = b"world"
ba = bytearray(b)
常用操作示例
ba = bytearray("Hi", "utf-8")
print(ba) # bytearray(b'Hi')
ba[0] = 104 # 修改第一个字节
print(ba) # bytearray(b'hi')
ba.append(33) # 添加感叹号(ASCII 33)
print(ba.decode()) # 输出: hi!
交互式演示
点击下方按钮,查看 bytearray 的动态操作:
应用场景
- 处理二进制文件(如图像、音频)时需要修改原始数据
- 网络协议中构建或解析可变字节包
- 高效内存操作,避免频繁创建新对象
注意事项
bytearray是可变的,而bytes是不可变的- 所有元素必须是 0–255 的整数
- 可使用
.decode()转回字符串,.encode()不能直接用于 bytearray