问题:无法用json.loads()解析数据。
现象:但是将收到的数据复制粘贴成字符串就可以接续出来。纠结了很久才发现,两个长度不一样。
str是看不出来的,于是就转换成了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]);
推荐学习:《Python教程》
当前名称:创新互联Python教程:python如何去除字符串中不可见字符(\x00)
当前URL:http://www.shufengxianlan.com/qtweb/news26/348476.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联