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

如何将存储图像矩阵数据的二进制bytes转换为Python字典

二进制图像键值对转Python可索引字典实现方案

根据你给出的二进制结构,分两种最常见的存储场景选择对应方案即可,不要盲目套用JSON解析避免报错:

  • 场景1:二进制内容为标准JSON序列化结果
    这种情况一般是存储时把图像矩阵转成了base64字符串、像素值列表这类JSON支持的格式后整体序列化,直接解码+JSON解析即可:
    import json
    import numpy as np
    # 你的原始二进制对象
    imag_bytes = b'{"photo": matrix data}'
    
    # 字节转字符串后解析为字典
    img_dict = json.loads(imag_bytes.decode("utf-8"))
    # 直接通过键访问数据
    photo_data = img_dict["photo"]
    
    # 如果你存的是像素列表,要还原矩阵直接转numpy数组即可
    # photo_matrix = np.array(photo_data)
    # 如果你存的是base64图像,做base64解码就能拿到原始图像字节
    
  • 场景2:二进制内容为Python pickle序列化结果
    如果存储时直接把numpy矩阵这类不支持JSON序列化的原生对象塞进字典后用pickle做的序列化,直接用pickle加载即可,不需要额外转码:
    import pickle
    
    imag_bytes = b'{"photo": matrix data}'
    img_dict = pickle.loads(imag_bytes)
    # 直接拿到原生矩阵对象
    photo_matrix = img_dict["photo"]
    

注意:pickle存在代码执行风险,仅可加载你自己确认安全的数据源,不要解析未知来源的pickle二进制内容。
如果解析时抛出编码异常,把解码环节的utf-8替换为你生成该二进制时使用的编码(常见的有latin-1、gbk)即可;如果是自定义私有二进制封包格式,按照你封包时的字段偏移规则拆分字节后组装字典即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:18:41