python編碼問題

2021-08-19 22:59:15 字數 671 閱讀 1321

在python開發指令碼是總是容易遇到編譯碼異常的問題,實在是讓人欲仙欲死,以下知識點可能會有幫助:

參考:首先要搞清楚,字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。

decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字串轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode('gb2312'),表示將unicode編碼的字串轉換成gb2312編碼。

在某些ide中,字串的輸出總是出現亂碼,甚至錯誤,其實是由於ide的結果輸出控制台自身不能顯示字串的編碼,而不是程式本身的問題。

另外對於一些包含特殊字元的編碼,直接解碼可能會報錯,可以使用對於的引數來設定。如:

s.decode("utf-8", "ignore") 忽略其中有異常的編碼,僅顯示有效的編碼

s.decode("utf-8", "replace") 替換其中異常的編碼,這個相對來可能一眼就知道那些字元編碼出問題了。

從unicode轉str,被看做是把乙個資訊文字編碼為二進位制位元組流的過程,要用encode方法

Python編碼問題

tag python,encoding,unicode 現有的字元編碼 ascii,gbk,gb2312,utf 8,unicode.unicode可以用來表示所有語言的字元,而且是定長雙位元組 也有四位元組的 編碼,包括英文本母在內。python中定義乙個unicode字串和定義乙個普通字串一樣簡...

python編碼問題

python裡面基本上要考慮三種編碼格式 1 原始檔編碼 在檔案頭部使用coding宣告。告訴python直譯器該 檔案所使用的字符集。usr bin python coding utf8 2 內部編碼 檔案中的字串,經過decode以後,被轉換為統一的unicode格式的內部資料,類似於u uni...

Python編碼問題

python裡面基本上要考慮三種編碼格式 1 原始檔編碼 在檔案頭部使用coding宣告。告訴python直譯器該 檔案所使用的字符集。usr bin python coding utf8 2 內部編碼 檔案中的字串,經過decode以後,被轉換為統一的unicode格式的內部資料,類似於u uni...