Python中有兩種默認的字符串:str和unicode。在Python中一定要注意區分“Unicode字符串”
和“unicode對象”的區別。後面所有的“unicode字符串”指的都是python裏的“unicode對象”。
事實上在Python中並沒有“Unicode字符串”這樣的東西,只有“unicode”對象。一個傳統意義上
的unicode字符串完全可以用str對象表示。只是這時候它僅僅是一個字節流,除非解碼爲unicode
對象,沒有任何實際的意義。
函數 decode( char_set )可以實現 其它編碼到 Unicode 的轉換,函數 encode( char_set )實
現 Unicode 到其它編碼方式的轉換。
在windows下默認的文件編碼是GBK,而linux的一般是utf-8.
想要查看文件的編碼方式,使用vim打開文本,然後在命令行模式下輸入:set fileencoding,回車即可。
有如下字符串
str1= "\u6709\u4e92\u8054\u7f51\u884c\u4e1a\u4eba"
方法1:
str1.encode().decode() 括號裏可填的參數,“gbk”,"gb2312","utf-8",這三者的組合,一般情況都可以轉換成中文
這樣還不行怎麼辦:
遇到類似的編碼問題時,就要先檢查響應內容text是什麼類型,
如果type(text) is bytes,那麼:
text.decode('unicode_escape')
如果type(text) is str,那麼:
text.encode('latin-1').decode('unicode_escape')