我对接口如何读取我发送的数据有疑问。
我想要做的是发送当前时间的界面。然而,当我这样做时,界面使用两个恭维:
Time = time.time()
timer = struct.pack('<d', Time)
接口接收类似于此1010010111111000011111000010111的二进制数字,因为它使用了两个恭维,所以时间完全错误。它得到一个负数,似乎认为它是1942年。
我的问题是我如何将时间转换为二进制,然后将二进制数的前面打包为0,因此它是8字节长,所以我可以打包并将其发送到我的界面。
答案 0 :(得分:1)
与the docs类似,d
用于8字节浮点数。 8字节整数使用Q
或q
。
答案 1 :(得分:0)
如果您在对Ignacio的回答的评论中指出,您已将错误的d
替换为q
或Q
,那么我认为您现在只有字节错误,因为struct.pack
确实始终将其输出填充到正确的长度。请改为struct.pack(">Q", Time)
。