python字节数组如何使用?

Python中的bytearray是可变的二进制数据序列,用于存储0-255整数,支持从字符串、字节、列表等创建,可修改元素、切片、追加和扩展,适用于处理文件、网络或多媒体中的二进制数据。

python字节数组如何使用?

Python中的字节数组(bytearray)是一种可变的序列类型,用来存储0到255之间的整数,常用于处理二进制数据。它和bytes类型很像,但关键区别是bytearray可以修改,而bytes是不可变的。

创建字节数组

你可以通过多种方式创建一个bytearray

  • 从字符串创建(需指定编码):
    ba = bytearray("hello", "utf-8")
  • 从字节对象创建:
    ba = bytearray(b"hello")
  • 从整数列表创建:
    ba = bytearray([104, 101, 108, 108, 111])
  • 创建指定长度的空字节数组:
    ba = bytearray(5)(内容初始化为0)

修改字节数组

因为bytearray是可变的,你可以直接修改其中的元素:

php 配置文件php.ini的中文注释版(09.4) php 配置文件php.ini的中文注释版(09.4)

在WINDOWS下,编译时的路径是WINDOWS安装目录。 ; 在命令行模式下,PHP.INI的查找路径可以用 -C 参数替代。 ; 该文件的语法非常简单。空白字符和用分号´;´开始的行被简单地忽略(就象你可能 ; 猜到的一样)。 章节标题(例如 : [FOO])也被简单地忽略,即使将来它们可能 ; 有某种的意义。 ; ;

php 配置文件php.ini的中文注释版(09.4) 449 查看详情 php 配置文件php.ini的中文注释版(09.4)
  • 单个赋值:
    ba[0] = 72 # 将第一个字节改为'H'
  • 切片赋值:
    ba[1:3] = b"EL"
  • 追加字节:
    ba.append(33) # 添加'!'
  • 扩展数据:
    ba.extend(b" world")

常见使用场景

字节数组在处理网络数据、文件读写或图像音频等二进制内容时非常有用。

  • 读取文件部分内容并修改:
    with open("data.bin", "rb") as f:<br>  data = bytearray(f.read())<br>data[0] = 0xFF  # 修改第一个字节
  • 构建协议数据包:
    packet = bytearray(4)<br>packet[0] = 0x01<br>packet[1] = 0x02<br>packet[2:] = b"\x03\x04"
  • bytes互相转换:
    b = bytes(ba) # 转为不可变bytes
    new_ba = bytearray(b) # 再转回来

基本上就这些。掌握bytearray的关键是理解它是“可变的二进制数据容器”,适合需要频繁修改字节内容的场景。不复杂但容易忽略的是:操作时确保数值在0~255之间,否则会报错。

以上就是python字节数组如何使用?的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。