二丶人生苦短,我用python【第二篇】

1 編碼

  python解釋器在加載 .py 文件中的代碼時,對內容默認進行ascill編碼,所以存在中文會報錯,因此須要告訴python解釋器,用什麼編碼來執行源代碼。)python

  ASCII碼,主要用於顯示現代英語和其餘西歐語言,其最多隻能用 8 位來表示(一個字節),即:2**8 = 256,因此,ASCII碼最多隻能表示 256 個符號。windows

  Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是爲了解決傳統的字符編碼方案的侷限而產生的,它爲每種語言中的每一個字符設定了統一而且惟一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536。python2.7

  UTF-8,是對Unicode編碼的壓縮和優化,他再也不使用最少使用2個字節,而是將全部的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...    優化

問題:python程序在windows終端下亂碼 
編碼

  Windows的默認編碼爲GBK,Linux的默認編碼爲UTF-8。spa

  python2.7 中utf-8轉gbk需先轉成unicode再由unicode轉成gbk。code

  

 

  decode:解碼utf-8

  encode:編碼ci

  python3中可直接由utf-8轉成gbk。python3內部會先把utf-8轉成unicode再由unicode轉成gbk。(python3中unicode也就沒有了)unicode

相關文章
相關標籤/搜索