首页 > 解决方案 > 给定数据结构读取二进制文件

问题描述

我在正确读取二进制文件的内容时遇到问题,可能是由于数据结构的解包不正确(这就是我在这里的原因——因为我不知道如何解包数据结构,给定不同的数据类型) .

该文档对我没有多大帮助,只是将我带到了数据类型及其缩写的标准列表以及一个不太有用的说明。

我试图理解以下代码:

data = struct.unpack('<hlhcl6s10s11s10s2s10schc', b[i:i+66])

其中“应该”对应于该数据结构中的“最后交易价格”(附图): 二进制文件的数据结构

我可以理解 6s , 10s 等表示字符长度。但是开头的'hlhcl'和结尾的'chc'有什么意义。数据结构包含一个“long”(根据文档,应该只是一个“h”),后面跟着很多字符(应该写为“c6s10s11s10s2s1s10s12s10s12s”。

如果你能帮我写出正确的字符序列来获得“最后交易价格”,那将非常有帮助。提前致谢。

标签: pythonbinaryfilesalgorithmic-trading

解决方案


如果您手头有二进制数据(b对吗?)并且您只对一个字段感兴趣,为什么不能直接访问该字段?

last_traded_price_bytes = b[88:98]

可能想仔细检查这些数字,很确定它从第 88 个字节开始。


推荐阅读