提问人:Fakir 提问时间:7/17/2020 更新时间:10/9/2020 访问量:458
python 中 RTCM 消息的二进制解析 [已关闭]
binary parsing for RTCM msg in python [closed]
问:
想要解析 RTCM 二进制数据。使用 ublox gps 接收器。查找 RTCM 起始字节 D3,通过使用
if buffer[i] == 0xd3
但似乎它不匹配,根本没有进入循环。我测试了
if buffer[i] == b'xd3'
但它也不起作用。
在 powershell 提示符 (anaconda) 中测试以检查如下:
>>> bin_Str = b'\x24\x47\x50\xd3'
>>> bin_Str
b'$GP\xd3'
>>> bin_Str[3] == 0xd3
True
所以,似乎它应该与0xd3相匹配。我已经检查了日志。二进制数据中有 D3。谁能帮忙?将不胜感激。
答: 暂无答案
评论
b'xd3'
不是单个字节。它是 3 个字节,来自 ASCII 字符 和 .您想要的(2 位十六进制数字之前的反斜杠和组合是单个字节的有效十六进制转义序列)。并不是说将其进行比较是行得通的,因为在对象中,单个元素实际上是整数。然而,我们在这里无能为力,因为我们没有什么可继续的。x
d
3
b'\xd3'
x
buffer[i]
bytes
buffer