Python 如果其中一个是字符串,如何对两个十六进制值进行异或?

Python 如果其中一个是字符串,如何对两个十六进制值进行异或?,python,python-3.x,python-2.7,xor,Python,Python 3.x,Python 2.7,Xor,下面是问题的一个片段 string = "test" for index, character in enumerate(string): value = hex(ord(character)) ^ 0xababab 此代码返回一个错误,无法对字符串和整数进行异或运算。那个么,如何让python将十六进制(ord(character))作为整数而不是字符串来处理呢 我尝试通过添加int(十六进制(ord(character))将其转换为int,但返回一个错误:base10的int无效

下面是问题的一个片段

string = "test"
for index, character in enumerate(string):
     value = hex(ord(character)) ^ 0xababab
此代码返回一个错误,无法对字符串和整数进行异或运算。那个么,如何让python将十六进制(ord(character))作为整数而不是字符串来处理呢


我尝试通过添加
int(十六进制(ord(character))
将其转换为int,但返回一个错误:base10的int无效文本只需使用
ord
,它就是int

for c in  s:
    print(ord(c) ^ 0xababab)
如您所见,这些是等效的:

1 == 0x01 # True

您的意思可能是:
对于字符串中的ch:value=ord(ch)^0xab