python中bytes和bytearray的介绍
发布时间:2025-11-15 22:49
发布者:网络
浏览次数:bytes不可变,用于只读二进制数据,支持字面量b''且可哈希;bytearray可变,可通过构造函数创建,适合需修改的场景。

在Python中,bytes 和 bytearray 是两种用于处理二进制数据的内置类型。它们都存储字节(0 到 255 之间的整数),但在可变性上有关键区别。
bytes:不可变的字节序列
bytes 类型表示一个不可变的字节序列。一旦创建,就不能修改其中的内容。这类似于字符串(str)——你不能更改某个位置的字节。
常见创建方式:
- 使用字面量:
b'hello' - 通过 bytes() 构造函数:
bytes([104, 101, 108, 108, 111]) - 将字符串编码:
bytes('hello', 'utf-8')或'hello'.encode('utf-8')
操作示例:
x = b'hello' print(x[0]) # 输出: 104 (字符 'h' 的 ASCII 值) # x[0] = 72 # 错误!bytes 不支持 item 赋值
bytearray:可变的字节序列
bytearray 与 bytes 类似,但它是可变的。你可以修改、添加或删除其中的字节。这使得它在需要频繁修改二进制数据时非常有用。
睿拓智能网站系统-网上商城
睿拓智能网站系统-网上商城1.0免费版软件大小:5M运行环境:asp+access本版本是永州睿拓信息专为电子商务入门级用户开发的网上电子商城系统,拥有产品发布,新闻发布,在线下单等全部功能,并且正式商用用户可在线提供多个模板更换,可实现一般网店交易所有功能,是中小企业和个人开展个人独立电子商务商城最佳的选择,以下为详细功能介绍:1.最新产品-提供最新产品发布管理修改,和最新产品订单查看2.推荐产
0
查看详情
创建方式与 bytes 类似,只是使用 bytearray():
bytearray(b'hello')bytearray([104, 101, 108, 108, 111])bytearray('hello', 'utf-8')
可变性示例:
y = bytearray(b'hello') y[0] = 72 # 修改第一个字节为 'H' (ASCII 72) print(y) # 输出: bytearray(b'Hello') y.append(33) # 添加感叹号 print(y) # 输出: bytearray(b'Hello!')
主要区别总结
- 可变性:bytes 不可变,bytearray 可变
- 性能:bytes 更轻量,适合只读场景;bytearray 支持原地修改
- 哈希性:bytes 可以用作字典键或集合元素(因为不可变),bytearray 不行
-
语法
字面量:只有 bytes 有字面量写法(b''),bytearray 必须通过构造函数创建
基本上就这些。根据是否需要修改数据,选择 bytes 或 bytearray 即可。
以上就是python中bytes和bytearray的介绍的详细内容,更多请关注其它相关文章!
# python
# 编码
# app
# 字节
# 区别
# 二进制数
# 最新产品
# 如何做
# 永州
# 运行环境
# 你可以
# 第一个
# 多个
# 两种
# 但在
# 旅游行业怎么推广网站
# 北城营销推广企业
# 网站优化服务效果付费
# 鄂州seo获客报价
# 嘉兴网络推广论坛网站
# 品牌推广同质化营销策略
# 晋宁区快消品营销推广
# 网站建设合肥公司
# 公厕推广营销策略
# 竞价网站优化教程





字面量:只有 bytes 有字面量写法(b''),bytearray 必须通过构造函数创建