如何解决用Python解码msgpack api响应
我正在做一个小型项目,以获取其中一种游戏api的六格网格游戏的地图。这最主要的部分目前正在按预期工作,但是问题是,api的响应是作为msgpack的映射。到目前为止,我还没有使用过它,但是我正在尝试用python对其进行解码。响应的原始内容如下:
cd\xfc\x1aA\x1e\xcd\x01-\x00\x01\x96\x00\x00\x92\xd1\xfe\x8d\xd0\xd6\x00...
当我像这样使用python msgpack lib时:
msgpack.unpackb(res.content,raw=False)
输出看起来像这样:
[0,207,[90,284],[]]]]]],[2,[0,314,[91,281],...
如果我像这样将raw = False切换为True
msgpack.unpackb(res.content,raw=True)
输出看起来像这样
[]]]]]],[[1,212,282],[]]]],None]] ...
如您所见,第二个输出缺少[90,284]周围的第一个输出,因为它以一些方括号[[]]]]]开头,然后是坐标[91,281]的信息,这是第二个输出第一输出。我只是不知道如何验证文件是否已正确解码,但看起来却不像这样。
我的问题是,是否还有其他方法可以解码对字符串或json或我可以使用的任何其他对象的响应的转义十六进制格式。
编辑:通过邮递员查询api时得到的响应据说是4.43 MB,但是当我将res.content
保存为文件时,它的响应只有1 MB。我不知道这种“损失”是从哪里来的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。