python如何去除字符串中不可见字符(x00)
发布时间:2026-05-18 16:06:01

问题:不能使用json.loads()数据分析。
现象:但可以将收到的数据复制粘贴成字符串。经过长时间的挣扎,我发现这两个长度是不同的。
str看不见,于是转换成bytes,发现
收到的数据如下:
<class‘bytes’> b’\r\n\r\n\x00\x00\x00\x00\x00\x00\x00\x00r\n\t"author":“app”\r\n}’
复制的字符串没有\x00
原代码
self.data=self.request.recv(1024).decode('UTF-8','ignore').strip()其中strip()只能去除\r,\\n,\t,不能去除\x00。
解决办法:
在源码后添加strip(b'\x00'.decode()可以。
self.data=self.request.recv(1024).decode('UTF-8','ignore').strip().strip(b'\x00'.decode())Python strip() 该方法用于删除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注:该方法只能删除开头或结尾的字符,不能删除中间部分的字符。
strip()方法语法:
str.strip([chars]);
推荐学习:Python教程
