在python中,假设运行时有数据...
search = target.readframes(2205)
每帧由 2 个字节组成。我想比较每个 2 字节值并提取范围内最高的 2 个值。
例如,如果数据如下所示...
0000|0001|0002|0008|0007|000F|000D|000A|00FB|00FC|00FA|00F9|00F8|00D7|00C3|0000
然后结果将提取 000F
和 00FC
有人可以帮我实现这个目标吗?任何答案或有用的建议都会很棒。
最佳答案
首先,您应该仅使用 bytes
对象(如果处理二进制数据)。它们需要 Python 2.6+。
示例
data = b"\x42\x43\x44\x45"
print(data[0:2], data[2:4])
是的,您可以对字节使用正常的比较操作。
我不确定您的readframes
是否返回了这种对象,但如果设计时它不是字节,您应该将其转换为字节。您可以只使用data = bytes(obj)
。
不要使用字符串来处理二进制数据。
关于python比较数据某些部分中的每2个字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6160271/