不可見的unicode字元

2021-10-23 07:41:30 字數 556 閱讀 3121

專案中執行到**如:

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開啟檔案,也可顯示出不可見字元。

字串中的不可見字元

最近用datax匯入資料到pipeline的時候,碰到乙個報髒資料的錯誤,檢查後發現字串包含 u0000和 u007f,就以為是這兩個unicode字元搞的鬼,寫了正則 unicode.replaceall s u007f s 來匹配,還是會報髒資料,原始的字串是下面這個樣子的 12345678 u...

Vim中顯示不可見字元

在linux中,cat a file可以把檔案中的所有 可見的和不可見的字元 都顯示出來,在vim中,如何將不可見字元也顯示出來呢?當然,如果只是想在vim中檢視的話,可以這樣 cat a在vim中呼叫cat轉換顯示。這樣的做法不便於編輯,其實vim本身是可以設定顯示不可見字元的。只需要 set i...

EXCEL中的神秘的不可見字元

因處理資料,需要把單位名稱前的空格字元去年,結果只有幾條記錄的去掉了,大部分記錄的單位名稱欄位前的空格沒有去掉。先看下圖 第1列為原資料,第2列為應用公式trim去空格,第3列用substitue函式替換空格 選中a列第3行 山東路 前面的空格 進行替換操作,把這些未知的字元替換成b 黃色記錄的4處...