2011-03-20 17 views
3

我有一個網站,通過使用utf-8解碼爲unicode來顯示用戶輸入。但是,用戶輸入可以包含二進制數據,這顯然不能被utf-8「解碼」。utf-8加問號

我使用Python,我得到一個錯誤說:

「UTF-8」編解碼器不能在位置0解碼字節爲0xBF:意外的代碼字節。你通過'\ xbf \ xcd ...

有沒有一種標準的高效方法來將這些不可解碼的字符轉換爲問號?

如果答案使用Python,這將是最有幫助的。

回答

6

嘗試:

inputstring.decode("utf8", "replace") 

參考見here

1

我知道你在尋找的是:

str.decode('utf8','ignore') 

應丟棄無效字節,而不是提高例外

+0

或Joril的方法....基本上看[decode()]的選項(http://docs.python.o RG /庫/ stdtypes.html) – 2011-03-20 17:37:10