在 Python 中将十六进制解压为双精度
Python:从十六进制解包到双精度
值
value = ['\x7f', '\x15', '\xb7', '\xdb', '5', '\x03', '\xc0', '@']
这是我尝试过的
unpack('d', value)
,但他需要一个字符串来解包。现在是一个列表。但是当我将其更改为字符串时,长度将从 8 更改为 58。但是 double 需要长度为 8 的值。
Python: Unpack from hex to double
This is the value
value = ['\x7f', '\x15', '\xb7', '\xdb', '5', '\x03', '\xc0', '@']
I tried
unpack('d', value)
but he needs a string for unpacking. It is a list now. But when I change it to a string, the length will change from 8 to 58. But a double needs a value of the length 8.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
''.join
join 进行转换列表到字符串:Use
''.join
join to convert the list to a string:请注意,有两种方法可以将其转换为双精度数,具体取决于 cpu 是否为大尾数法或小尾数法,因此最好明确您想要哪一种,
并且只是为了好玩 - 以下是如何显式解码双精度数
Note that there are two ways to convert this to a double, depending on whether the cpu is bigendian oe littleendian, so it's best to be explicit about which one you want
and just for fun - here's how to decode the double explicitly
注意在实现之前验证值,使用以下函数转换 HEX->Double 或 Double->HEX。
Note verify the value before implementation use below functions to convert HEX->Double or Double->HEX.
您还可以使用
ctypes
库进行此转换。用法示例:
You can also use
ctypes
library for this conversion.Example usage: