拆分变量以计算双字符组

时间:2014-08-28 11:11:19

标签: python python-2.7 count null hex

我希望能够计算次数" 00"出现在包含十六进制代码的变量中。

这是计算此代码中包含的NULL字节数,因此我必须将每2位数计为1。

48657920697420776f726b73000000000000000000000000000000000000

使用设置为变量的示例十六进制代码,我尝试将其拆分为诸如

之类的列表

['48' '65' '79' etc]

然后计算,但无法让它工作

2 个答案:

答案 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

希望这有帮助,

相关问题