将表示二进制的字符串转换为二进制python
我找不到解决这个问题的办法 基本上到目前为止,我所做的是创建一个字符串,它表示二进制版本的x个字符,并填充以显示所有8位 例如,如果x=2,那么我总共有010110010001个数字。现在我有两个长度相同的字符串,我想将它们异或在一起,但python一直认为这是一个字符串而不是二进制。如果我使用bin(),它会抛出一个摆动,认为它是一个字符串。因此,如果我强制转换为int,那么它将删除前导的0 所以我已经得到了我想要的二进制表示,我只需要让python知道它是二进制的,有什么建议吗 这里是我用来创建二进制字符串的当前函数将表示二进制的字符串转换为二进制python,python,binary,Python,Binary,我找不到解决这个问题的办法 基本上到目前为止,我所做的是创建一个字符串,它表示二进制版本的x个字符,并填充以显示所有8位 例如,如果x=2,那么我总共有010110010001个数字。现在我有两个长度相同的字符串,我想将它们异或在一起,但python一直认为这是一个字符串而不是二进制。如果我使用bin(),它会抛出一个摆动,认为它是一个字符串。因此,如果我强制转换为int,那么它将删除前导的0 所以我已经得到了我想要的二进制表示,我只需要让python知道它是二进制的,有什么建议吗 这里是我用来
for i in origAsci:
origBin = origBin + '{0:08b}'.format(i)
提前谢谢 使用Python的int()函数将字符串转换为整数。使用2作为基参数,因为二进制文件使用基2:
binary_str = '10010110' # Binary string
num = int(binary_str, 2)
# Output: 150
接下来,使用bin()函数将整数转换为二进制:
binary_num = bin(num)
# Output: 0b10010110
为什么你不能将整数异或在一起,然后在左边的>>>空格(22929)上加上零,打印出“0B1011001110010001”,你需要在它前面加上0b,从一个位字符串中得到一个
int
,doint('010101010',2)