Python中字符串和int之间的异或

Python中字符串和int之间的异或,python,xor,Python,Xor,在Python中,如何在带整数的字符串之间执行XOR操作? 以下是我键入的内容: x = 'a' y = x^5 print(y) 它向我显示了以下错误:TypeError:不支持的^:'str'和'int'的操作数类型 知道如何解决吗?将字符串(char)转换为ord: y = ord('a')^5 ord提供字符的unicode值。字符的二进制表示是其ASCII/Unicode值的二进制 x = 'a' y = ord(x) ^ 5 print(y) >>> 100

在Python中,如何在带整数的字符串之间执行XOR操作? 以下是我键入的内容:

x = 'a'
y = x^5
print(y)
它向我显示了以下错误:
TypeError:不支持的^:'str'和'int'的操作数类型

知道如何解决吗?

将字符串(char)转换为
ord

y = ord('a')^5

ord
提供字符的unicode值。字符的二进制表示是其ASCII/Unicode值的二进制

x = 'a'
y = ord(x) ^ 5

print(y)
>>> 100
使用
bin()
检查100的二进制表示,我们看到100是0b1100100


当然,这只适用于单个字符,而不适用于字符串。

我不确定您为什么要这样做…?您预期的结果是什么?您真的想知道如何将十六进制数
0xa
5
进行异或运算吗?您希望如何执行,例如
“fart”^5
ord()
方法返回一个表示给定Unicode字符的Unicode码点的整数。例如
'5'
53。它将把字符转换成整数值。