解码Simulink';Python中的UDP数据包

解码Simulink';Python中的UDP数据包,python,udp,decode,packet,simulink,Python,Udp,Decode,Packet,Simulink,我有一个Simulink模型,它通过UDP将数据发送到另一个程序(混合器),在那里我可以接收数据包,但我还没有弄清楚如何正确解码它们 在Simulink模型中,我只是让它发送一个基于正弦波的值,没有什么特别的,只有一个值,比如1.452或其他什么。在Blender中,我让它吐出它从数据包接收到的数据,我接收到如下内容: b'<\xa6ya\x05\x93\xe3?' 当转换为十六进制读取时(使用hexlify): 如何从中提取/解码0.5234 谢谢你的帮助 您可以使用来解码二进制数据,

我有一个Simulink模型,它通过UDP将数据发送到另一个程序(混合器),在那里我可以接收数据包,但我还没有弄清楚如何正确解码它们

在Simulink模型中,我只是让它发送一个基于正弦波的值,没有什么特别的,只有一个值,比如1.452或其他什么。在Blender中,我让它吐出它从数据包接收到的数据,我接收到如下内容:

b'<\xa6ya\x05\x93\xe3?'
当转换为十六进制读取时(使用hexlify):

如何从中提取/解码0.5234

谢谢你的帮助

您可以使用来解码二进制数据,在这种情况下,它似乎是一个值:


非常感谢你!因为这个,我的头一直撞在桌子上。你也可以用hex2num来解码十六进制字符串。但由于某种原因,数字颠倒了。因此,如果字符串位于变量“a”中,则需要运行“hex2num(a([15 16 13 14 11 9 10 7 8 5 6 3 4 1 2])”
b'\xab>W[\xb1\xbf\xe0?'
b'ab3e575bb1bfe03f'
>>> import struct
>>> struct.unpack('d', b'\xab>W[\xb1\xbf\xe0?')
(0.5234,)