【发布时间】:2020-01-28 20:08:12
【问题描述】:
我正在尝试解压缩以下数据,但似乎无法弄清楚。 这是从设备读取仪表值的数字混音器返回的字节数据。
文档建议返回的 blob 将被格式化为:
- int1 – blob 的长度,以字节为单位,32 位整数 big-endian
- int2 - 'nativefloats' 的数量,32 位整数 little-endian
- ‘nativefloat’ – 米值,32 位浮点小端序
- ‘nativefloat’
- …(在此特定消息中应该总共有 70 个“nativefloat”值)
执行打印(数据)会显示来自设备的实时数据中的以下 blob:
['F\x00\x00\x00\xd4\xc6\x9a7\xce-\xee8G\xa6=6\x88\x80X7\x83\x99#7\xd1\xd3A7\x88\x80X7\x8cM\x9d7\x9b\xeeK7\xeb,\x847\xd4\xc6\x9a7*q\x8a7dlN7=\xfcU7\xd1\xde\x9f7\xdc\xa4\x817q=\x937b\x9cg7\x1d\xba77\x9b\xeeK7x\xb8q7\x1d^\x807\xe1P?7\x90H\xba7\x1d^\x807o\x86]7\xf8\xf1P7\x88\x80X7\xc5\xa8\xa87:\xdcF7\xdc\x1fe7TaI7\x01\t\xb87.\xebW7\xca\xf3a7\xd6\xef[7=\xfbQ7\xe8\xfa\x957n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54\x9d\xa2\x867n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54\x1e\x93\x867n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54n\xbb\xd54']
我尝试了struct.unpack 的几种变体,但收到“结构格式中的错误字符”,并且文档中没有任何示例讨论与此类似的布局。我还尝试提取字节并使用在线转换器对其进行转换,但无法获得任何类似于预期值的内容。我确定我误解了一些简单的事情?
【问题讨论】:
-
您能分享一下您尝试过的方法和收到的错误吗?
-
欢迎来到 Stack Overflow!我将您的输出样本缩进了 4 个空格,以便正确呈现 - 请参阅editing help 以获取有关格式的更多信息。
标签: python arrays python-2.7