python去除字符串中不可見字符的辦法:
問題:無法用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())
Pythonstrip()方法用于移除字符串頭尾指定的字符(默認為空格或換行符)或字符序列。
注意:該方法只能刪除開頭或是結尾的字符,不能刪除中間部分的字符。
strip()方法語法:
str.strip([chars]);
以上內容為大家介紹了python如何去除字符串中不可見字符(\x00),希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。