Python 如何从文本文档中删除\x00字节

Python 如何从文本文档中删除\x00字节,python,filter,byte,strip,Python,Filter,Byte,Strip,我有一个单元的输入流,我想过滤掉字节“\x00”。这些空字节仅在打印变量时显示。例如,我想从以下变量中筛选出\x00 example = b'\n\x00[\x007\x000\x004\x005\x001\x009\x004\x009\x000\x006\x008\x004\x002\x00]\x00 \x00-\x00 \x00D\x00S\x00I\x00 \x00-\x00 \x00R\x00e\x00s\x00p\x00o\x00n\x00s\x00e\x00' 非常感谢您的帮助。您

我有一个单元的输入流,我想过滤掉字节“\x00”。这些空字节仅在打印变量时显示。例如,我想从以下变量中筛选出\x00

example = b'\n\x00[\x007\x000\x004\x005\x001\x009\x004\x009\x000\x006\x008\x004\x002\x00]\x00 \x00-\x00 \x00D\x00S\x00I\x00 \x00-\x00 \x00R\x00e\x00s\x00p\x00o\x00n\x00s\x00e\x00'

非常感谢您的帮助。

您可以将
过滤器
过滤器一起使用(删除错误元素),并强制重建
字节
对象:

example = b'\n\x00[\x007\x000\x004\x005\x001\x009\x004\x009\x000\x006\x008\x004\x002\x00]\x00 \x00-\x00 \x00D\x00S\x00I\x00 \x00-\x00 \x00R\x00e\x00s\x00p\x00o\x00n\x00s\x00e\x00'
result = bytes(filter(None,example))
结果

b'\n[7045194906842] - DSI - Response'

(一般答案是
result=bytes(如果x!=character\u code,那么x代表x)
,在这种情况下,我们通常不使用
过滤器,因为它需要
lambda

您可以尝试使用
replace()
,如下所示:

print(example.replace(b'\0', b''))
这将显示:

b'\n[7045194906842] - DSI - Response'
文本可能是
utf-16
格式,因此下面将其转换为字符串:

print(example.decode('utf-16'))