python比较数据某些部分中的每2个字节

标签 python comparison byte

在python中,假设运行时有数据...

search = target.readframes(2205)

每帧由 2 个字节组成。我想比较每个 2 字节值并提取范围内最高的 2 个值。

例如,如果数据如下所示...

0000|0001|0002|0008|0007|000F|000D|000A|00FB|00FC|00FA|00F9|00F8|00D7|00C3|0000

然后结果将提取 000F00FC

有人可以帮我实现这个目标吗?任何答案或有用的建议都会很棒。

最佳答案

首先,您应该仅使用 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/

相关文章:

java - 在 Java 中如何将整数转换为字节?

python - 导入模块适用于 Eclipse,但不适用于命令行

python - 为什么 tf.Print() 不在 tensorflow 中打印

java - 字符串比较 : individual comparison Vs appended string comparison

go - 按字节比较 varint 编码的 int64

ios - 带字节的字符串 : length: encoding: is producing the wrong length of string

python - 在另一个函数中用作参数时,如何将自定义 Python 对象表示为字符串?

python - Apache Beam用于音频信号/流处理

C:为什么没有怪物吃玩家?

c++ - 比较 C 和 C++ 中的对象