微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python gzip base64从mathcad二进制内容中提取数据

如何解决python gzip base64从mathcad二进制内容中提取数据

我想从 mathcad xml 二进制内容提取数据, 但似乎我犯了一些错误,有人可以帮忙吗?

import gzip
import base64

bin_str_gzip = '''
H4sIAAAAAAAA/+xWz2sTURCe3WQ3Sc2arJqo9RJEbx500YNQNJhWEC0tqRSkInjs0qSk2TYN
Wm8pelSs+AdoEcslB+3Fo14EQWh78uDF/gcV8WjWb97bTbY5aP3RgzSzfPvezryzefPe23mT
JCIFGAP6RF/FO9qoO84RYrKA+ExpZHLaKTUEh4rAAJTyEevxW6Jm1Lr+hWhRs4xZIdf975il
pohsnSii2mTDjhyvJyyhHmeX7C5RGB8bmrvUcGYUYSDJRsIMA9gjhsaduaIzVXFrmhCcZm3b
LUleVPDOtsPQ58uzF9wFOesrQAyMYjuOYWAUuAvk4WgdbRlYkmJ4JEqLCajJIDZDxNZM7pWx
Ge3YUjI2Iy1jS3FspkVomymhqfhWaZ+YWxIxF9yZSZejlII0zxDsDoc1B7AtPOGHwAfgPOB5
PBpDR6pOoVpxag2ho0gvSscfdNdWzc/LL/s3qIvOUYRaXoL0EK+jLaej+t8tjz1K8nr0X9F3
oBVCj3YXFcnF06AcDVENbZ1ud6eCn1KWtPY/z7lgkc4oR81P5qMmGePvtP7w2JOxlac3Ln5U
iui/8RNJAd7ZryPe87/lmwnpUgnHs129F8qvx2yX/sT/v6S/8c/LwHmc94QvSL44Oef3csHu
IA3VUzZDdMe/6PsIdZdAcDpEq/rHZALISF7W79pUEacnRbJGjPg6ldAp45LtNfDV23pCl0J/
4TCqzBxQRi6o4snRIN5TaC1xxjc3NmlB1nBkTRy/Gbaz8mrwwbcdtD3Nnav33p8qrZnP7tOT
Y6vaelANxf2lCSjgRwNG83K+vdrBBFxfNnor3QKzDpFNJ3TfBG7kLdgp2i8rUbHrz5evmXB+
oLs6z/jVeVZWsBne7INSL9PROxSSHg5J+fsHAAAA//8DAHmhfMNNDAAA
'''

encodings = ['ascii','utf-8','latin_1']
for encoding in encodings:
    print(f'\n{encoding}{"-"*50}')
    org_str = gzip.decompress(base64.b64decode(bin_str_gzip)).decode(encoding,'ignore')
    print(org_str)

我得到了什么:


# binary content with "gzip" tag...

ascii--------------------------------------------------
S
p2^2ddd2   2<
2<@
2CVSComboItemCVSItem<
t?CVSOleClientItem

[di
ims Shell Dlg 2x2[%vDMS Shell Dlg 2x2[%vDjT1c$K@helloP@world,2Y2ddd22<@
2Y2<@
2


utf-8--------------------------------------------------
S
p2^2ddd2   2<
2<@
2CVSComboItemCVSItem<
t?CVSOleClientItem

[di
ims Shell Dlg 2x2[%vDMS Shell Dlg 2x2[%vDjT1c$K@helloP@world,2Y2ddd22<@
2Y2<@
2


latin_1--------------------------------------------------
S
p2^ñ2ddd2Á  2<
2<@
2CVSComboItemCVSItem<
tÌ?ÿÿCVSOleClientItem

[di
i¸óÿÿÿMS Shell Dlg 2ÿÿðáðx2[%v³²DõÿÿÿMS Shell Dlg 2ÿÿðáðx2[%v³²DjTÉ1cЦ $ÏÑK@ÿÿÿÿÿÿÿÿhelloP@ÿÿÿÿÿÿÿÿworld,ÿþÿÿþÿÿþÿÿþÿ2¨¡Y2ddd2Á2<@
2¨¡Y2<@
2

我找到的一些指南:

..xmcd 是 UTF-8 编码的 XML 格式。二进制有效载荷,如图像数据, 组件数据,OLE 数据被压缩并插入到 XML 中 编码为 base64 ASCII。

和 mathcad 表在下面,我看到一些像“你好”“世界”这样的词,但看不到“55”“66”,所以我想我犯了一些错误,有人可以指导吗?

mathcad table

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?