如何从 python 字符串中删除 '\x0'?

How to remove the '\x0' from a python string?

def sxor(s1,s2):
    return ''.join(chr(ord(a) ^ ord(b)) for a,b in  zip (s1,s2))

text = sxor('a','a')
text

输出是

\x00

尝试了很多以前回答的方法,但 none 只能删除 '\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

  1. chrint 值中生成一个字符串作为 ascii 码。所以chr(0)表示ascii 0字符,表示为'\x00'.
  2. 你要的是str。它从给定值(在本例中为 int)生成字符串。 str(0)'0'.

示例:

print('\x00' == chr(0))
print('\x01' == chr(1))
print('0' == str(0))
print('1' == str(1))

输出:

True
True
True
True