bytearray() 可变字节序列
最后更新:2026-09-22
bytearray() 可变字节序列
bytearray() 返回可变字节数组,元素是 0-255 的整数。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
bytearray([source[, encoding]]]])
⚙️ 参数
| source 可选 | 可选。整数(指定长度)、字符串、可迭代整数或字节类对象。(默认值:None) |
|---|---|
| encoding 可选 | source 为字符串时使用的编码名(如 'utf-8')。(默认值:None) |
| errors 可选 | 编码错误处理方案(如 'strict' / 'ignore')。(默认值:None) |
返回值:bytearray。可变字节数组,元素是 0-255 的整数。
💥 异常
TypeError— 当 source 的类型不受支持时抛出。ValueError— 当元素超出 0-255 或编码无效时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
bytearray(b'Hello')
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qbytearray 和 bytes 有什么区别?
Abytearray 可变(能改元素、append、切片赋值),bytes 不可变;两者元素都是 0-255 的整数。
Q为什么从字符串创建 bytearray 必须传 encoding?
A字符串是字符不是字节,必须指定编码(如 'utf-8')才能转成字节;bytearray('中文') 不带 encoding 会抛 TypeError。
Qbytearray 的元素是什么类型?
A元素是 0-255 的整数,如 bytearray(b'hello')[0] 返回 104 而不是 'h';用 chr() 才能转回字符。
Q元素能超出 0-255 吗?
A不能,给元素赋值超范围(如 ba[0] = 256)会抛 ValueError。