Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将表示二进制的字符串转换为二进制python_Python_Binary - Fatal编程技术网

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

将表示二进制的字符串转换为二进制python,python,binary,Python,Binary,我找不到解决这个问题的办法 基本上到目前为止,我所做的是创建一个字符串,它表示二进制版本的x个字符,并填充以显示所有8位 例如,如果x=2,那么我总共有010110010001个数字。现在我有两个长度相同的字符串,我想将它们异或在一起,但python一直认为这是一个字符串而不是二进制。如果我使用bin(),它会抛出一个摆动,认为它是一个字符串。因此,如果我强制转换为int,那么它将删除前导的0 所以我已经得到了我想要的二进制表示,我只需要让python知道它是二进制的,有什么建议吗 这里是我用来

我找不到解决这个问题的办法

基本上到目前为止,我所做的是创建一个字符串,它表示二进制版本的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
,do
int('010101010',2)