解码十六进制到坐标

2024-05-19 23:26:39 发布

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

我有一个十六进制有效载荷:

872fa5596122f23e24efb4fc1013b7000000000718

lat和lng位于little endian,位于以下位置:

^{2}$

我不知道如何得到正确的结果。我想我得先把hex改成little endian?然后把它转换成int?我试过了:

data = struct.unpack('<ll',binary[12:20])

输出:

TypeError: a bytes-like object is required, not 'str'

Tags: databytesstructlikeintbinaryllhex
1条回答
网友
1楼 · 发布于 2024-05-19 23:26:39

首先需要将十进制对象转换为十六进制表示:

import codecs

binary = "872fa5596122f23e24efb4fc1013b7000000000718"
binary_bytes = codecs.decode(binary, 'hex')
print(binary_bytes)
# b'\x87/\xa5Ya"\xf2>$...

然后您可以使用struct将其解码为整数或其他任何形式:

^{pr2}$

相关问题 更多 >