字符編碼
1.字符編碼簡介
- 字符編碼只針對文本檔案
- 計算機內部存盤資料的本質是二進制 也就是計算機只認識0和1
- 我們打出來的字能被計算機識別是因為中間有一層轉換關系>>字符編碼表、
2.字符編碼發展的三個階段
-
階段一:一家獨大
由于計算機是美國人發明的 為了可以讓計算機識別英文 所以發明了ASCII碼
ASCII碼中記錄了英文字母跟數字的對應關系>>用1位元組來表示一個英文字符
A-Z:65-90
a-z:97-122
-
階段二:群雄割據
各國都有自己的字符編碼
中國:GBK碼 記錄中文、英文與數字的對應關系>>用2個位元組來表示一個字符
日本:shift_JIS碼 記錄日文、英文與數字的對應關系
韓國:Euc_kr碼 記錄韓文、英文與數字的對應關系
PS:此時各個國家之間編碼不一致,不同資料無法直接互動會出現亂碼!
-
階段三:天下統一
萬國碼(unicode):兼容多個多家語言與數字的對應關系 >>用2位元組表示一個字符
后來utf家族發布了優化版:utf8 英文采用1位元組 中文采用3位元組
ps:記憶體使用unicode 硬碟采用utf8
3.字符編碼相關操作
只有字串可以參與編碼解碼 其他資料型別需要先轉成字符換才可以
-
解決亂碼的措施
1.當初用什么編碼存的就用什么編碼解碼 2.一個一個切換嘗試 -
編碼與解碼
編碼:人類字符--->計算機字符
將人類字符按照指定的編碼編程計算機可以識別的數字
encode()
#encode()編碼 s1 = '張三' res = s1.encode('utf8') print(res) #結果為:b'\xe5\xbc\xa0\xe4\xb8\x89'解碼:計算機字符--->人類字符
將計算機可以識別的數字按照指定的編碼解成人類可以讀懂的字符
decode()
#decode()解碼 res1 = res.decode('utf8') print(res1) #結果為:張三 -
不同版本解釋器的區別
python2默認的編碼是ASCII碼 如果想要使用utf8需要:
1.檔案最開頭輸入:#encoding:utf8
2.每個字串前面都要加u print u'我是小美女'
python3默認就是utf8
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/542196.html
標籤:其他
上一篇:lambda運算式
下一篇:學習筆記——Spring中的AOP(AspectJ);Spring中AOP概述;Spring中AOP相關術語;AspectJ中切入點運算式;AspectJ中JoinPoint物件;AspectJ中通知
