Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.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中的二进制转换和XOR_Python - Fatal编程技术网

python中的二进制转换和XOR

python中的二进制转换和XOR,python,Python,我正在做一项任务,破译一个一次性密码(7句话,所有7句话中每个字符位置的重复键)。我通过猜测工作来解决这个问题,我需要将猜测字母的二进制值与密码字符的二进制值异或,以获得一个密钥 但是,我不能对Python返回的二进制值进行异或运算,因为它们是字符串格式的。我无法将它们转换为整数,因为我需要“0b”部分,但我也无法对其进行异或运算,因为它是一个字符串 关于如何解决这个问题有什么建议吗?Python中的整数支持二进制位运算;该函数获取整数操作数并生成位发生变化的新整数,就像在C代码中一样 将字符串

我正在做一项任务,破译一个一次性密码(7句话,所有7句话中每个字符位置的重复键)。我通过猜测工作来解决这个问题,我需要将猜测字母的二进制值与密码字符的二进制值异或,以获得一个密钥

但是,我不能对Python返回的二进制值进行异或运算,因为它们是字符串格式的。我无法将它们转换为整数,因为我需要“0b”部分,但我也无法对其进行异或运算,因为它是一个字符串


关于如何解决这个问题有什么建议吗?

Python中的整数支持二进制位运算;该函数获取整数操作数并生成位发生变化的新整数,就像在C代码中一样

将字符串(假设您有类似于
0b1001101
)转换为整数,在该字符串上使用
^
异或运算符。如果需要在末尾输出字符串,则始终可以在整数上再次使用
bin()

>>> bin(102)
'0b1100110'
>>> 102 ^ 255
153
>>> bin(102 ^ 255)
'0b10011001'

如果您有ASCII字节(Python 2字符串中的字符是字节),请使用
ord()
获取整数表示,使用
chr()
再次返回字节(字符)。

Python中的整数支持二进制位运算;该函数获取整数操作数并生成位发生变化的新整数,就像在C代码中一样

将字符串(假设您有类似于
0b1001101
)转换为整数,在该字符串上使用
^
异或运算符。如果需要在末尾输出字符串,则始终可以在整数上再次使用
bin()

>>> bin(102)
'0b1100110'
>>> 102 ^ 255
153
>>> bin(102 ^ 255)
'0b10011001'

如果您有ASCII字节(Python 2字符串中的字符是字节),请使用
ord()
获得整数表示,使用
chr()
再次返回到字节(字符)。

!非常感谢你!令人惊叹的!非常感谢你!