将从文件中读取的二进制序列转换为定点编号

2024-10-04 09:23:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试分析一个文件,其中包含ITCH消息:

http://www.nasdaqtrader.com/Trader.aspx?id=DPSpecs_USEquities#TVITCHhttp://www.nasdaqtrader.com/content/technicalsupport/specifications/dataproducts/NQTV-ITCH-V4_1.pdf

每个价格用一个32位的定点数字表示,该数字有18个整数位和14个小数部分位。(6位整数后接4位小数)

例如

200,000.0000
110000110101000000 00000000000000

我已经看了struct类,但它只处理整字节作为它从二进制编码的c结构转换。

我看过十进制。十进制模块,但似乎您只能使用字符串来实例化它,这假设您已经拥有字符串格式的数字。在


Tags: 文件字符串comidhttp消息www数字
1条回答
网友
1楼 · 发布于 2024-10-04 09:23:03

Python的struct.unpack()正是您所需要的。您只需要构造适当的格式字符串,这样模块就可以知道哪些字段在哪里,它们有什么二进制格式,并且您应该能够快速地对数据进行解码。在

你用一点一点的方式来解释事情,但这并不是瘙痒真正起作用的原因。固定的十进制字段实际上是N个字节长,其中包含一些十进制移位。因此,您可以将价格字段读入整数,然后除以1e4得到浮点值。在

相关问题 更多 >