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