十六进制值上的Python XOR运算符
我正试图找出如何获取字符串中每个字节的XOR:十六进制值上的Python XOR运算符,python,bit-manipulation,xor,Python,Bit Manipulation,Xor,我正试图找出如何获取字符串中每个字节的XOR: string = "\xa3\xb4\x55" 10万(二进制)。在python中如何实现这一点?我试过这样做: newString = "" for n in string: new = n ^ 0x20 newString.append(new) 我需要newString的输出看起来像 output = "\x83\x94\x75" 但我目前没有得到:-(任何帮助都将不胜感激!谢谢!您需要使用ord(…)转换为数字,然后使
string = "\xa3\xb4\x55"
10万(二进制)。在python中如何实现这一点?我试过这样做:
newString = ""
for n in string:
new = n ^ 0x20
newString.append(new)
我需要newString的输出看起来像
output = "\x83\x94\x75"
但我目前没有得到:-(任何帮助都将不胜感激!谢谢!您需要使用
ord(…)
转换为数字,然后使用chr(…)
返回到字符
您需要将每个字符转换为其字符码,然后对字符码执行xor。然后将结果转换回字符,结果如下:
string = "\xa3\xb4\x55"
newString = ""
for n in string:
new = chr(ord(n) ^ 0x20)
newString += new
print(newString)
string = "\xa3\xb4\x55"
newString = ""
for n in string:
new = chr(ord(n) ^ 0x20)
newString += new
print(newString)