登录
首页 >  文章 >  python教程

Python字节数组使用详解

时间:2025-11-19 22:33:44 138浏览 收藏

目前golang学习网上已经有很多关于文章的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《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是可变的,你可以直接修改其中的元素:

  • 单个赋值:
    ba[0] = 72 # 将第一个字节改为'H'
  • 切片赋值:
    ba[1:3] = b"EL"
  • 追加字节:
    ba.append(33) # 添加'!'
  • 扩展数据:
    ba.extend(b" world")

常见使用场景

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

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

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>