将表示二进制的字符串转换为二进制python

Shi*_*oki 3 python binary

我无法完全找到解决方案。

到目前为止,我所做的基本上是创建一个字符串,该字符串表示填充以显示所有 8 位字符的 x 数量的二进制版本。

例如,如果 x = 2 那么我有 0101100110010001 所以总共 8 位数字。现在我有 2 个相同长度的字符串,我想将它们 XOR 在一起,但是 python 一直认为它是一个字符串而不是二进制。如果我使用 bin() 那么它会抛出一个不稳定的想法,认为它是一个字符串。因此,如果我转换为 int,它将删除前导 0。

所以我已经得到了我所追求的二进制表示,我只需要让 python 知道它是二进制的,有什么建议吗?

我用来创建二进制字符串的当前函数在这里

for i in origAsci:
    origBin = origBin + '{0:08b}'.format(i)
Run Code Online (Sandbox Code Playgroud)

提前致谢!

小智 5

使用 Python 的 int() 函数将字符串转换为整数。使用 2 作为基参数,因为二进制使用基数 2:

binary_str = '10010110' # Binary string
num = int(binary_str, 2)
# Output: 150
Run Code Online (Sandbox Code Playgroud)

接下来,使用 bin() 函数将整数转换为二进制:

binary_num = bin(num)
# Output: 0b10010110
Run Code Online (Sandbox Code Playgroud)