python 編碼問題

2022-09-04 14:18:19 字數 279 閱讀 2774

str.encode("gbk").decode('gbk').encode('utf-8')

原理:utf8編碼的文字可以用iso8859-1的編碼表示,但是反過來不行。iso8859-1是單位元組編碼,而utf8是定長編碼,從utf8轉化成iso8859-1相當於是高精度轉化成低精度,造成精度丟失,所以不可逆。根本原因是因為utf8中文,在iso8859-1沒有匹配的位置。

而gbk是不定長編碼,英文數字的字元編碼規則跟iso8859-1是一樣的,所以gbk是相容iso8859-1編碼的,這兩者可以相互轉換。

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...