知行编程网知行编程网  2022-08-22 19:30 知行编程网 隐藏边栏  1,257 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python如何去除字符串中不可见字符(\x00)的相关知识,包括python去除字符串回车,以及python提取部分字符串这些编程知识,希望对大家有参考作用。

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

问题:无法用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]);

推荐学习:《

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享