2016-11-21 107 views
-1

我無法完全找到解決方案。將表示二進制的字符串轉換爲二進制python

基本上我到目前爲止所做的是創建一個字符串,它表示填充了x個字符的二進制版本以顯示所有8位。

E.g.如果x = 2,那麼我有0101100110010001,所以總共8位數。現在我有兩個相同長度的字符串,我希望XOR在一起,但是python一直認爲它是一個字符串而不是二進制。如果我使用bin(),那麼它會拋出一個搖擺不定的想法,它是一個字符串,它是。所以如果我投射到一個整數然後刪除前導0。

所以我已經得到了我後來的二進制表示,我只需要讓python知道它是二進制的,任何建議?

我使用創建我的二進制串的電流功能在這裏

for i in origAsci: 
    origBin = origBin + '{0:08b}'.format(i) 

提前感謝!

+1

爲什麼你就不能異或整數一起,然後填充左邊的零 –

+0

>>> bin(22929)打印'0b101100110010001',你需要0b在它的前面 –

+0

從bitstring獲得'int'do'int''010101010',2)' –

回答

0

使用Python的int()函數將字符串轉換爲整數。使用2,因爲二進制基本參數使用基地2:

str = '10010110' # Binary string 
num = int(str, 2) 
# Output: 150 

接下來,使用斌()函數將整數轉換成二進制:

binary_num = bin(num) 
# Output: 0b10010110 
相關問題