2015-10-14 30 views
-4

使用python,我想轉換/解釋由0和1組成的字符串,就好像它是二進制的。將0和1組成的字符串解釋爲二進制序列?

假設我有一個字符串,它看起來像這樣:

>>>str = "010010000110010101101100011011000110111100100000010101110110111101110010011011000110010000100001" 

我想一個函數(或其他)來檢索Hello World!

+0

@CoryKramer,是不是錯了欺騙? OP希望它轉換成ASCII,這是我連接的重複。 –

+0

你的問題根本不清楚。你錯過了解釋爲二進制和「檢索」Hello World之間的聯繫!「 – juanchopanza

+0

@MorganThrapp我們應該讓OP澄清問題。 – juanchopanza

回答

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
from itertools import izip 

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

輸出:

Hello World! 
相關問題