我的输入文件可能是任意的,所以我将使用
f = open("in-file", 'rb')
块大小约为 4K 字节,因此我将使用
f.read(4096)
我想要做的是从文件中逐块读取块。此外,由于块实际上是一个 $2^15$-bit (4KB) 的序列,所以在读取一个块时,我需要将其转换为十进制值以便进一步计算。
例如,如果第一个块的形式为 0000...10,我想要的是另一个变量保持相应的十进制值,例如 x=2。
从将字符串转换为位列表,反之亦然,我知道它的代码可以帮助我逐块读取块。
def tobits(s):
result = []
for c in s:
bits = bin(ord(c))[2:]
bits = '00000000'[len(bits):] + bits
result.extend([int(b) for b in bits])
return result
但是,我不知道如何将输出列表转换为十进制值。有人可以给我一些示例代码吗?谢谢你。