我有任务要做 我得到很多数据,我的工作是解码它。我得到的每一部分都以可读的十六进制数字字符串编写。例如:“ 8a fd ff ff”
我尝试过,struct.unpack('<l', "8a fd ff ff")
也尝试了很多解码方法,因此列出来太久了。我只知道这应该使我得到-630。我不知道数据是如何转换成这种形式的。
data = "8a fd ff ff"
aa = np.array(list(data))
print(aa)
struct.unpack('<l', aa)
struct.error:解压缩需要4个字节的缓冲区
因此结果应为-630。我使用在线十六进制解码器对其进行了测试。
找到第一个答案很好,但是更直观,更容易记住。鉴于所有数据均以空格分隔的十六进制数字字符串形式提供,您可以使用:
data = "8a fd ff ff"
bytes_data = bytes.fromhex( data.strip() )
struct.unpack("<l", bytes_data)
在此示例中,我们首先加载数据,删除所有空格,转换为二进制十六进制表示形式并将其读出。输出与您期望的一样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句