python字符编码
字符編碼:
ASCII:占一個字節,只支持英文
GBK2312:占兩個字節,支持6700+漢字
GBK GB2312的升級版:支持21000+漢字
Unicode:2-4個字節
Unicode作用:
直接支持全球所有語言,每個國家可以不再使用之前自己的舊編碼,直接使用unicode
包含了跟全球所有國家編碼的映射關系
Unicode解決了字符于二進制的對應關系,由于Unicode對比ASCII編碼占用字節增加一倍,同時也為了解決存儲和網絡傳輸的問題,出現了Unicode Transformation Format,學術名:UTF,即:對unicode中的進行轉換,以便于存儲和網絡傳輸時可以節省空間!
UTF-8: 使用1、2、3、4個字節表示所有字符;優先使用1個字符、無法滿足則使增加一個字節,最多4個字節。英文占1個字節、歐洲語系占2個、東亞占3個,其它及特殊字符占4個。
UTF-16: 使用2、4個字節表示所有字符;優先使用2個字節,否則使用4個字節表示。
UTF-32: 使用4個字節表示所有字符。
總結:UTF 是為unicode編碼 設計 的一種 在存儲 和傳輸時節省空間的編碼方案
字符在硬盤上的存儲,無論以什么編碼在內存里顯示字符,存在硬盤上都是二進制的。
注意的是:存在硬盤上時是以什么編碼保存,再從硬盤上讀取時,就必須以相同的編碼讀取,不然會出現亂碼。
python3的執行過程:
解釋器找到代碼文件,把代碼字符串按文件頭定義的編碼加載都內存中,轉成unicode
把代碼字符串按照語法規則進行解釋
所有的變量字符都會以unicode編碼生命
常見的編碼錯誤的原因:
python解釋器的默認編碼
python源文件文件編碼
terminal使用的編碼
操作系統的語言設置
轉載于:https://blog.51cto.com/11638205/2335508
總結
以上是生活随笔為你收集整理的python字符编码的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 撩课-Web大前端每天5道面试题-Day
- 下一篇: 阿里开发者们的第5个感悟:听话,出活
