在Python中,如何将.exe文件转换为1s和0s的字符串?

时间:2011-09-13 20:30:43

标签: python binary

我似乎能够在C#中找到有关如何执行此操作的信息,但不知道如何在Python中执行相同的操作。

任何建议或意见将不胜感激。非常感谢你。

4 个答案:

答案 0 :(得分:4)

def padded_bin(number, width=8, padchar='0'):
    return bin(number)[2:].rjust(width, padchar)

with open(r'C:\path\to\file.txt', 'rb') as f:
    as_binary = ''.join(padded_bin(ord(c)) for c in f.read())

答案 1 :(得分:2)

''.join((map(''.join, itertools.product(*['01']*8))[ord(c)]
         for c in open('foo').read()))

答案 2 :(得分:0)

print "".join(bin(ord(c))[2:] for c in file("a.exe", "rb").read())

使用填充更新:

print "".join(("00000000"+bin(ord(c))[2:])[:8] for c in file("a.exe", "rb").read())

答案 3 :(得分:0)

open与'rb'一起用作标记。那将以二进制模式读取文件