不可見的unicode字符

項目中執行到代碼如:

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打開文件,也可顯示出不可見字符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章