python如何去除字符串中不可见字符(\x00)

图片[1]-python如何去除字符串中不可见字符(\x00)-uusu优素-乐高,模型,3d打印,编程

问题:无法用json.loads()解析数据。

现象:但是将收到的数据复制粘贴成字符串就可以接续出来。纠结了很久才发现,两个长度不一样。

str是看不出来的,于是就转换成了bytes,发现

收到的数据为:

<class‘bytes’>
b’\r\n\r\n\x00\x00\x00\x00\x00\x00\x00\x00{\r\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]);
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容