将由0和1组成的字符串解释为二进制序列?

时间:2015-10-14 16:12:49

标签: python

使用python,我想转换/解释由0和1组成的字符串,就像它是二进制一样。

假设我有一个如下所示的字符串:

>>>str = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"

我想要一个函数(或其他)来检索Hello World!

2 个答案:

答案 0 :(得分:3)

这应该做你想要的。 for i in xrange(0, len(b), 8)分别获取每个字符的位,chr(int(b[i:i+8], 2))将ASCII 1和0转换为字符代码。

>>> b = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"
>>> print "".join(chr(int(b[i:i+8], 2)) for i in xrange(0, len(b), 8))
Hello World!

答案 1 :(得分:1)

from itertools import izip

str = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001"
print ''.join(chr(int(''.join(b8), 2)) for b8 in izip(*[iter(str)]*8))

输出:

Hello World!