You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将QByteArray存储的数据转换为bytes格式

QByteArray 转 Python 原生 bytes 解决方案

Qt 的 Python 绑定(PyQt/PySide 全系列)没有给QByteArray设计单独命名的toBytes()类接口,直接用以下两种方式即可完成转换,适配所有常见版本:

  • 通用兼容方案:直接调用Python内置bytes()构造方法传入QByteArray实例,无版本兼容问题,二进制数据不会出现乱码、丢字节问题
# 示例:构造测试QByteArray对象
qba = QByteArray(b"\x01\x02\x03test content")
# 转换为原生bytes
py_bytes = bytes(qba)
  • 简化写法(适配PyQt5.12+、PySide2/PySide6全版本):直接调用QByteArray实例的data()方法,返回值本身就是Python原生bytes类型,无需额外转换
py_bytes = qba.data()

注意:不要使用旧版本接口constData()做转换,该接口返回的是C风格字符串映射,在Python3环境下处理非文本二进制数据时会出现截断、编码错误问题。

转换完成后可以通过isinstance(py_bytes, bytes)做类型校验,返回True即表示转换成功。

内容的提问来源于stack exchange,提问作者cc1cc1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 09:09:20