這節(jié)課我們講什么是字符編碼!
我們在寫代碼的時候,用的都是人類能讀的懂得字符,比如中文字符、英文字符等等。但是計算機只能識別二進制數(shù),它本身是基于電工作的。
電有高低電頻兩種特性,人類從邏輯層面,將高電頻對應數(shù)字1,低電頻對應數(shù)字0。這就決定了就算計只能識別有0和1組成的數(shù)字,所以從我們人類寫的字符,倒進算計能識別的二進制數(shù),必須要有一個翻譯的過程。
這個翻譯的過程必須有一個特定的標準,這個標準就稱之為字符編碼表。
這個字符編碼表上存放的就是字符和數(shù)字一一對應的關系,只要我們寫的字符能夠和數(shù)字有對應關系,那在把數(shù)字轉成二進制就比較方便了。
我在pycharm里寫一個‘仙’字,計算機是不認識這個字的,它只認識0101這種二進制數(shù)。
假設我們規(guī)定,這個‘仙’字在字符編碼表里面,對應的數(shù)字是10086,然后我們寫的這個字計算機背后一定是給我們對應成了10086這個數(shù)字,然后把10086這個數(shù)字轉成了二進制,存在了內存里面。
這種對應關系確定好了之后只要我們把這個‘仙’字打出來了,計算機就會按照我們設定好的對應關系,把它轉成10086對應的二進制。最后一按保存,這個二進制數(shù)就存到硬盤里面了。
到這里我們就知道了,字符編碼表就是一個字符和一個數(shù)字的對應關系。很簡單,簡單到我們自己都可以設計,只是我們設計的不被計算機認可而已。
所以字符編碼表的作用就是用于把人類的字符,轉換成計算機能識別的數(shù)字。
懂了這個之后我們來思考一個問題, 我在pycharm里寫一個‘仙’字計算機發(fā)生了幾件事情?
首先第一件事我們剛剛是講過了的,就是計算機會按照字符編碼表, 翻譯成二進制數(shù)。假如這個數(shù)字是1010100,然后把這個二進制數(shù)存到內存里面,這件事只是把這個數(shù)據存到內存里面去了。
但是我們?yōu)槭裁茨軌蛟谄聊簧峡吹竭@個‘仙’字呢?
這是因為我們的這個文本編輯器pycharm,又把它從內存里取出來了,庵后又按照同一張字符編碼表,把它反向翻譯成我們所認識的這個字符‘仙’。
仙----->翻譯----->1001000
仙<-----翻譯<-----1001000
我們現(xiàn)在的計算機處理速度都很快,所以我們會感覺剛輸入‘仙’這個字的同時立馬也就看到了這個結果。
當你的計算機性能不夠的時候,這個過程就比較慢,給我們的感覺就是電腦很卡。
未經允許不得轉載:445IT之家 » Python 什么是字符編碼