我希望能够计算次数" 00"出现在包含十六进制代码的变量中。
这是计算此代码中包含的NULL字节数,因此我必须将每2位数计为1。
48657920697420776f726b73000000000000000000000000000000000000
使用设置为变量的示例十六进制代码,我尝试将其拆分为诸如
之类的列表 ['48' '65' '79' etc]
然后计算,但无法让它工作
答案 0 :(得分:2)
假设您在计算二进制文件中的 NUL 字节时可能有非常长字符串,则可能首选基于迭代器的方法:
>>> s="48657920697420776f726b73000000000000000000000000000000000000"
>>> sum(1 if x == ('0','0') else 0 for x in zip(*[iter(s)]*2))
18
答案 1 :(得分:1)
尝试:
line = '48657920697420776f726b73000000000000000000000000000000000000'
n = 2
list = [line[i:i+n] for i in range(0, len(line), n)]
list.count('00')
您可以看到工作样本here
希望这有帮助,