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

时间:2019-03-30 09:38:39

标签: python python-3.x python-2.7 xor

下面是问题的摘要

string = "test"
for index, character in enumerate(string):
     value = hex(ord(character)) ^ 0xababab

此代码返回的错误是它不能对字符串和整数进行XOR。那么如何获取python将hex(ord(character))作为整数而不是字符串来处理?

我尝试通过添加int(hex(ord(character)))将其强制转换为int,但返回错误:base10的int无效文字。

1 个答案:

答案 0 :(得分:1)

只需使用ord,它就是整数。

for c in  s:
    print(ord(c) ^ 0xababab)

如您所见,这些是等效的:

1 == 0x01 # True