解码 python 数据
Decoding python data
抱歉,这个问题可能很简单。我会几种语言,但我是新手 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(接下来的 3 个数字)
- 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
抱歉,这个问题可能很简单。我会几种语言,但我是新手 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(接下来的 3 个数字)
- 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