bytearray()

bytearray() 是 Python 的内置函数,用于创建可变的字节序列对象,核心特性如下:

  1. 基础用法
创建空字节数组
b = bytearray()  bytearray(b'')

创建指定长度的零填充数组
b = bytearray(3)  bytearray(b'\x00\x00\x00')

从可迭代整数创建(0-255范围)
b = bytearray([65, 66, 67])  bytearray(b'ABC')
  1. 数据源支持
    | 输入类型 | 示例 | 结果 |
    |-------------------|---------------------------|--------------------------|
    | 字符串 + 编码 | bytearray("中文", "utf-8") | bytearray(b'\xe4\xb8\xad\xe6\x96\x87') |
    | 字节对象 (bytes) | bytearray(b"ABC") | 可变的字节数组副本 |
    | 范围对象 | bytearray(range(65,68)) | bytearray(b'ABC') |

  2. 核心特性

  • 可变性:支持索引修改、切片操作
    b = bytearray(b"hello")
    b[0] = 74  改为 'J' (ASCII 74)
    print(b)   bytearray(b'Jello')
    
  • 缓冲区协议:直接访问底层内存
  • 方法支持:
    • append():添加单个字节
    • extend():添加多个字节
    • decode():转字符串
    • 列表式操作:pop(), insert(), remove()
  1. 编码转换示例
text = "Python"
encoded = bytearray(text, "utf-8")  编码存储
decoded = encoded.decode("utf-8")   解码还原
print(decoded)  输出: Python
  1. 应用场景
  • 二进制数据处理:网络协议解析
  • 高效修改:替代不可变 bytes 对象
  • 内存操作:与 C 库交互的缓冲区
  • 实时编解码:流式数据处理

注意:

  • 整数输入时每个值必须在 0-255 范围
  • 字符串输入必须指定编码参数
  • bytes 的互操作:bytes(bytearray_obj) 可转回不可变对象
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容