如何读取Python字节数据?

问题描述 投票:0回答:0

我正在尝试从 pickle 文件中获取数据。据我所知,当我们进行序列化时,数据被转换为字节流。当我使用此代码以二进制形式读取数据时:

f = open("alexnet.pth", "rb")
data = f.read()

我得到了这个结果

b'PK\x03\x04\x00\x00\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x10\x00\x12\x00archive/data.pklFB\x0e\x00ZZZZZZZZZZZZZZ\x80\x02ccollections 有序字典 q\x00)Rq\x01(X\x11\x00\x00\x00features.0.weightq\x02ctorch._utils _rebuild_tensor_v2 q\x03((X\x07\x00\x00\x00storageq\x04ctorch 浮动存储 q\x05X \x00\x00\x002472041505024q\x06X\x03\x00\x00\x00cpuq\x07M\xc0Ztq\x08QK\x00(K@K\x03K\x0bK\x0btq (Mk\x01KyK\x0bK\x01tq \x89h\x00)Rq\x0btq\x0cRq X\x0f\x00\x00\x00features.0.biasq\x0eh\x03((h\x04h\x05X \x00\x00\x002472041504928q\x0fh\x07K@tq\x10QK\x00K@\x85q\x11K\x01\x85q\x12\x89h\x00)Rq\x13tq\x14Rq\x15X\x11\x00\x00\x00features.3.权重q\x16h\x03((h\x04h\x05X \x00\x00\x002472041505120q\x17h\x07J\x00\xb0\x04\x00tq\x18QK\x00(K\xc0K@K\x05K\x05tq\x19(M@\x06K\x19K\x05K\x01tq\x1a\x89h\ x00)Rq\x1btq\x1cRq\x1dX\x0f\x00\x00\x00features.3.biasq\x1eh\x03((h\x04h\x05X \x00\x00\x002472041507136q\x1fh\x07K\xc0tqQK\x00K\xc0\x85q!K\x01\x85q"\x89h\x00)Rq#tq$Rq%X\x11\x00\x00\x00features.6.weightq&h\ x03((h\x04h\x05X \x00\x00\x002472041509056q'h\x07J\x00 \x00tq(QK\x00(M\x80\x01K\xc0K\x03K\x03tq)(M\xc0\x06K K\x03K\x01tq*\x89h\x00)Rq+tq,Rq-X\x0f\x00\x00\ x00features.6.biasq.h\x03((h\x04h\x05X \x00\x00\x002472041505312q/h\x07M\x80\x01tq0QK\x00M\x80\x01\x85q1K\x01\x85q2\x89h\x00)Rq3tq4Rq5X\x11\x00\x00\x00features.8.weightq6(h\x03 x04h\x05X \x00\x00\x002472041508192q7h\x07J\x00\x80 \x00tq8QK\x00(M\x00\x01M\x80\x01K\x03K\x03tq9(M\x80 K K\x03K\x01tq:\x89h\x00)Rq;tqh\x03((h\x04h\x05X \

我知道那些是十六进制字符。我的问题是 1 个字节是否包含 1 个十六进制字符(每个“\”表示 1 个字节)?或者如何用字节来读这个?我还注意到有一些英文单词,例如“\x02ctorch._utils”和“n_rebuild_tensor_v2”。它们是什么意思(十六进制+字符串)?

谢谢

python hex pickle
© www.soinside.com 2019 - 2024. All rights reserved.