項目中執行到代碼如:
x = x.encode(encoding)
報錯:'latin-1' codec can't encode character u'\u202d' in position 0: ordinal not in range(256)。
可見是編碼問題。報錯信息顯示這個x字符串中含有異常的字符u'\u202d',奇怪的是這個x對應到我代碼中只是一個簡短的數字而已,此處爲mem後的數字98304,並沒有u'\u202d'字符,奇怪了...
mem: 98304
於是查了下原來u'\u202d'是unicode不可見字符。除了這個'\u200b',還有兩個不可見的字符:'\u200c'和'\u200b'。
在Linux終端中”/u200b”爲不可見字符。爲了顯示出內容中加入的不可見字符,可將內容保存到文本中,利用less命令打開文本。或者使用vim打開文件,也可顯示出不可見字符。