據我所知,這是python的概念,只有在字符串中有效的字符,但在我的情況下,操作系統將提供無效的編碼字符串,我必須處理的路徑名稱。所以我最終得到的字符串包含非Unicode的字符。如何在Python中替換字符串中的無效Unicode字符?
爲了糾正這些問題,我需要以某種方式顯示這些字符串。不幸的是我不能打印它們,因爲它們包含非Unicode字符。有沒有一種優雅的方式來以某種方式替換這些字符,以至少了解字符串的內容?
我的想法是按字符處理這些字符串,並檢查存儲的字符是否實際上是有效的unicode。如果字符無效,我想使用某個unicode符號。但我該怎麼做?使用codecs
似乎不適合這個目的:我已經有一個字符串,由操作系統返回,而不是一個字節數組。將字符串轉換爲字節數組似乎涉及解碼,當然我的情況會失敗。所以看來我被卡住了。
你有一個提示,我如何能夠創建這樣一個替換字符串?
請在你的問題的樣本串;使用'print repr(obj)'來產生樣本。您可能可以使用適當的'errors'模式讓Python爲您插入佔位符。 –
。解碼(「utf-8」,「忽略」)忽略壞字符。 – les
在bash shell中,我將問號標記爲替換字符。在文件管理器中,我看到一個倒置的問號。 –