我试图弄清楚如何取字符串中每个字节的异或:
string = "xa3xb4x55"
使用 100000(二进制(。我将如何在python中做到这一点?我试过这样做:
newString = ""
for n in string:
new = n ^ 0x20
newString.append(new)
我需要 newString 的输出看起来像
output = "x83x94x75"
但我目前没有得到那个:-(任何帮助将不胜感激!谢谢!
您需要将每个字符转换为其字符代码,然后对字符代码执行异或。之后,您将结果转换回字符,结果如下:
string = "xa3xb4x55"
newString = ""
for n in string:
new = chr(ord(n) ^ 0x20)
newString += new
print(newString)
这是一个工作示例
您需要使用
ord(..)
转换为数字,然后使用 chr(..)
转换回字符。
>>> "".join(chr(ord(x) ^ 0x20) for x in "xa3xb4x55")
'x83x94u' # 'u' => 'x75'