如果其中一个是字符串,如何对两个十六进制值进行异或?
How to XOR two hex values if one of them was a string?
下面是问题的一个片段
string = "test"
for index, character in enumerate(string):
value = hex(ord(character)) ^ 0xababab
此代码返回一个错误,它不能对字符串和整数进行 XOR。那么如何让 python 将 hex(ord(character))
作为整数而不是字符串来处理呢?
我尝试通过添加 int(hex(ord(character)))
将其转换为 int,但是 returns 出现以下错误:Invalid literal for int with base10
就用ord
,是整数
for c in s:
print(ord(c) ^ 0xababab)
如您所见,这些是等价的:
1 == 0x01 # True
下面是问题的一个片段
string = "test"
for index, character in enumerate(string):
value = hex(ord(character)) ^ 0xababab
此代码返回一个错误,它不能对字符串和整数进行 XOR。那么如何让 python 将 hex(ord(character))
作为整数而不是字符串来处理呢?
我尝试通过添加 int(hex(ord(character)))
将其转换为 int,但是 returns 出现以下错误:Invalid literal for int with base10
就用ord
,是整数
for c in s:
print(ord(c) ^ 0xababab)
如您所见,这些是等价的:
1 == 0x01 # True