1. 程式人生 > 其它 >python中字元編碼和解碼的理解

python中字元編碼和解碼的理解

技術標籤:學習筆記python

主要通過闡述字元編解碼的概念和在分析python中遇到的具體場景,來清楚的理解字元編碼解碼。

概念

首先得理解編碼和解碼的概念,無論是編碼還是解碼,也無論是utf8,gbk,unicode,ascii等等其他編解碼方式,它們都是針對字元和二進位制碼而言。計算機只能儲存和讀取二進位制碼,而人只能認識字元,而將二進位制碼和字元進行連線的就是編解碼方式。

人:字元 ——編碼——> 計算機:二進位制碼

人:字元 <——解碼—— 計算機:二進位制碼

例子1:記事本

儲存原理:通過將輸入的字元以指定編碼方式(未指定則用系統預設編碼方式)編碼成二進位制碼儲存到檔案中。

讀取原理:在顯示輸入內容之前,對文字中的二進位制資料進行編碼格式的判定,進而以相應的編碼格式進行解碼,從而正確的讀取和顯示內容。

例子2: 網頁中的編碼

要知道網頁這個檔案本身的編碼格式和網頁中宣告的編碼格式二者之間的區別,二者通常是一致的,但是區分二者能夠更加準確的理解網頁的編碼。

<meta charset='utf-8'>  # 這是網頁中宣告的編碼格式

例子3:python中的編碼

之所以會出現一些錯誤,是因為python讀取檔案不會自動識別檔案的編碼格式,而是需要進行指定的,不指定情況下預設是系統編碼方式,一旦與檔案本身的編碼格式不一致就會出錯。