python去除字符串中不可見字符的辦法:
問題:無法用json.loads()解析數(shù)據(jù)。
現(xiàn)象:但是將收到的數(shù)據(jù)復(fù)制粘貼成字符串就可以接續(xù)出來。糾結(jié)了很久才發(fā)現(xiàn),兩個長度不一樣。
str是看不出來的,于是就轉(zhuǎn)換成了bytes,發(fā)現(xiàn)
收到的數(shù)據(jù)為:
(class‘bytes’)
b’\r\n\r\n\x00\x00\x00\x00\x00\x00\x00\x00{\r\n\t"author":“app”\r\n}’
而復(fù)制出來的字符串沒有\(zhòng)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()方法用于移除字符串頭尾指定的字符(默認(rèn)為空格或換行符)或字符序列。
注意:該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。
strip()方法語法:
str.strip([chars]);
以上內(nèi)容為大家介紹了python如何去除字符串中不可見字符(\x00),希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。