字符编码在python中的处理与储存_python----字符编码与文件处理
字符編碼
計算機工作就要通電,也就是說‘電‘驅使計算機干活,而電只有高電壓(二進制1),低電壓(二進制0),也就是說計算機只認數字。
編程的目的就是讓計算機干活,編程的結果就是一堆字符,也就是我們編程最終實現的是:一堆字符驅動計算機干活呢。
1:python解釋器是執行文件內容的,因而python解釋器具備讀py文件的功能,
這一點與文本編輯器一樣。
2:與文本編輯器不一樣的地方在于,python解釋器不僅可以讀文件的內容,
還可以執行文件內容。
字符------------à(翻譯過程)----------------à數字
這個過程實際就是一個字符如何對應一個特定的數字標準,這個標準稱之為數字編碼。
一:ASCLL:
一個Bytes=8bit--------------à可以表示為2**8種變化
00000000-------------à0------------------à’a’
00000001-------------à1------------------à’b’
10101010
1*(2**8)+1*(2**6)+1*(2**4)+1*(2**)
ASCLL:最初只有七位,127個數字。
為了將拉丁文也編碼進ASCLL中,將最高位也占了。
二:為了滿足中文,中國人定制了GBK。
GBK:2Bytes代表一個字符。
日本----------shift_JIS
韓國----------Evc-kr
三:Unicode,統一用2(2Bytes)位代表一個字符。(萬國編碼)
優點:轉換速度快。
缺點:占用空間大。
2**16=65536,可代表多個字符。
1Bytes??? =??? 8bit
1Kb????? =???? 1024Bytes
1MB???? =???? 1024KB
1GB????? =???? 1024MB
1027TB?? =???? 1024GB
1GB????? =???? 1024*1024*1024*1024*8
四:UTF—8(可變長的字符編碼)-----------à精準,對不同的字符用不同的長度表示。
優點:節省空間。
缺點:轉換速度慢。
對英文字符只用1Gytes,對中文只能用3Byte
1:內存中使用的是Unicode,用空間換時間(程序都需要加載到內存才能運行,因而內存要盡可能的快)
2:硬盤中或者網絡傳輸用Utf_8,保證數據傳輸的穩定性。
Unicode---------àencode-----------àutf-8
Utf-8---------àdcode------------àunicode
結論:用什么編碼存,就用什么編碼取。
Python3解釋器中,默認的字符編碼是Utf-8
Python2解釋器中,morn的是ASCII。
總結
以上是生活随笔為你收集整理的字符编码在python中的处理与储存_python----字符编码与文件处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怀柔云梦仙境停车场有充电桩吗?
- 下一篇: c++ getline 读不到东西_C+