有没有一种简单的方法可以在Python中使用二进制文件?

我有一个要接收的数据文件(分别为1和0),并希望对其进行扫描并寻找二进制形式的某些模式。 它必须是二进制的,因为由于我的系统的缘故,我可能偏离了1位左右,这在转换为十六进制或ascii时会丢掉所有内容。

例如,我想打开文件,然后搜索“ 0001101010111100110”或一些二进制字符串,并让它告诉我文件中是否存在该文件,它在哪里等。

这可行吗,或者我会更好地使用另一种语言吗?

===============>>#1 票数:4 已采纳

要将字节字符串转换为字符串“ 0”和“ 1”,可以使用以下单行代码:

bin_str = ''.join(bin(0x100 + ord(b))[-8:] for b in byte_str)

结合打开和读取文件:

with open(filename, 'rb') as f:
    byte_str = f.read()

现在,这只是一个简单的字符串搜索:

if '0001101010111100110' in bin_str:

===============>>#2 票数:0

您最好使用另一种语言。 Python可以做到(例如,如果使用file = open(“ file”,“ wb”)

(在b后面附加b以二进制形式打开),然后使用简单的搜索,但是老实说,用较低级的语言(例如C)来执行它要容易得多,也更快。

  ask by tdfoster translate from so

未解决问题?本站智能推荐: