解码python数据

问题描述

抱歉问了一个很简单的问题。我知道几种语言,但我对 python 很陌生。 我正在通过物联网设备收集以下数据,这是我可以获得的所有信息:

print('This is my data : %s' % (data)) => "This is my data : b'\x95\xfe683475065015121'"
print(type(data)) => "<class 'str'>"

问题是,我想从数据中提取数值,例如:

  • 丢弃开头的 \x95\xfe
  • a = 68.3(前 3 位数字 / 10)
  • b = 475 或 475.0(下三位数字)
  • c = 065 或 65.0(接下来的 3 位数字)...
  • ...(我想我会从这里得到其余的。)

非常感谢您的帮助,祝您有美好的一天。

PS:我已经尝试过 float.fromhex(data[y:Z]) - 或 data.decode("hex"),但没有运气... bytes.fromhex(data[y:z]) 给了我一个结果也很奇怪...

解决方法

当然:

t = b'\x95\xfe683475065015121'
t = t[2:]  # disregard \x95\xfe
print(t)

a = int(t[:3]) / 10
b = int(t[3:6])
c = int(t[6:9])
print(a,b,c)  # >>> 68.3 475 65