0

我对接口如何读取我发送的数据有疑问。

我想要做的是发送当前时间的接口。然而,界面使用两个的恭维,所以当我这样做时:

Time = time.time()
timer = struct.pack('<d', Time)

该接口接收到一个类似于此 1010010111111000011111000010111 的二进制数,并且由于它使用二进制补码,因此时间完全错误。它得到一个负数,似乎认为它是 1942 年。

我的问题是如何将时间转换为二进制,然后用 0 将二进制数的前面打包,使其长 8 字节,然后我可以打包并将其发送到我的界面。

4

2 回答 2

1

就像文档说的那样,d是 8 字节浮点数。8 字节整数使用Qor q

于 2014-02-13T04:38:55.853 回答
0

如果正如您在对 Ignacio 答案的评论中指出的那样,您已将错误替换为dor qQ那么我认为您现在只是字节顺序错误,因为struct.pack 总是将其输出填充到正确的长度。试试struct.pack(">Q", Time)吧。

于 2014-02-13T04:50:09.893 回答