我试图弄清楚如何对字符串中的每个字节进行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/