【发布时间】:2020-06-29 06:51:24
【问题描述】:
def sxor(s1,s2):
return ''.join(chr(ord(a) ^ ord(b)) for a,b in zip (s1,s2))
text = sxor('a','a')
text
输出是
\x00
尝试了很多以前回答的方法,但没有一个可以删除“\x0”,因为只有“0”是必需的答案。
这里还有一个例子:
def sxor(s1,s2):
return ''.join(chr(ord(a) ^ ord(b)) for a,b in zip (s1,s2))
text = sxor('1','2')
输出
\x03
我尝试过的事情:
def sxor(s1,s2):
return ''.join(chr(ord(a) ^ ord(b)) for a,b in zip (s1,s2))
text = sxor('1','1')
text.rstrip('\x0')
显示错误:
File "<ipython-input-26-d4905edd1961>", line 6
text.rstrip('\x0')
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-2: truncated \xXX escape
如果我把它写成'\x00',那么它也会删除所需的部分,并且对于任何其他情况也不起作用。我也尝试过使用替换功能。 请帮我解决这个问题。
【问题讨论】:
-
将
chr替换为str -
注意
\x00是单个字符:print(len("\x00"))输出是1
标签: python string unicode binary xor