我试图弄清楚如何对字符串中的每个字节进行XOR:

string = "\xa3\xb4\x55"


100000(二进制)。我将如何在python中做到这一点?我尝试这样做:

newString = ""
for n in string:
    new = n ^ 0x20
    newString.append(new)


我需要newString的输出看起来像

output = "\x83\x94\x75"


但我目前没有得到:-(任何帮助将不胜感激!谢谢!

最佳答案

您需要将每个字符转换为其字符代码,然后对字符代码执行异或运算。之后,您可以将结果转换回一个字符,结果如下所示:

string = "\xa3\xb4\x55"

newString = ""
for n in string:
    new = chr(ord(n) ^ 0x20)
    newString += new

print(newString)


Here's a working example

关于python - 十六进制值的Python XOR运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42048073/

10-12 03:52