Python 如何从文本文档中删除\x00字节
我有一个单元的输入流,我想过滤掉字节“\x00”。这些空字节仅在打印变量时显示。例如,我想从以下变量中筛选出\x00Python 如何从文本文档中删除\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' 非常感谢您的帮助。您
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'))