2016-11-21 154 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 
相关问题