神奇的字符編碼

今天白月黑羽和你們說說字符編碼python

文字是怎麼放到電腦裏的呢?

咱們眼睛看到的電腦上顯示的字,包括漢字、英文、日文、韓文,這些文字,在計算機內部是怎麼存儲的?網站

難道是刻上去的? 好比刻在硬盤上一個個這樣的字?編碼

固然不是,計算機都是用數字存儲信息的。code

用 磁場、電信號 等物理介質的 正負 狀態 表示 0 和 1,若是一個數字只由0和1 表示,就是一個2進制的數字表示法。orm

用連續的0和1,就能夠表明很大的數字。ip

好比unicode

二進制 的 10 就表示十進制 的 2get

二進制 的 110 就表示十進制 的 6it

從右向左,每位 上的 1 分別表明 2的0次方(就是1), 2的1次方(就是2),2的2次方(就是4),2的3次方(就是8) 等等, 依次類推。io

根據不一樣的使用場合,數字能夠表示不一樣的意義。

好比,須要存儲 顏色 信息的時候, 0 能夠用來表明 白色, 1 表明紅色, 2 表明 黑色等等。

若是有10000種顏色,能夠用 0 到 9999 一共 10000個數字分別表明他們。

一樣的, 咱們要存儲 文字 信息,也能夠用不一樣的數字來表明不一樣的文字。

字符集

計算機是美國人發明的,因此在開始的時候, 他們也沒有想到未來要支持全世界的文字。

因此,最先的時候,他們定義了一個規範,定義一些數字 用來表明美國人使用的文字符號。

而美國人的單詞都是用字母拼出來的, 因此他們經常使用的基礎文字符號比較少。

就是字母,再加上 !@#$%^&*(){[]}+- 等等這些符號,也就100多個。

他們定義的規範就叫 ASCII (American Standard Code for Information Interchange) ,中文大意就是 美國信息交換標準碼

你們能夠參考 百度上面的ASCII表

這個 ASCII 碼裏面用128個數字表明瞭128個字符。

要存儲和傳輸這 128個字符對應的文字信息 也很簡單, 二進制有 8 位就足夠了。

由於2的8次方等於256,能夠存儲 從 0 到255 一共 256個數字, 能夠表示 最多 256 個文字符號。

二進制有 8 位 的長度 被稱爲 一個 字節 。

因此一個字節就能夠存放 任何一個ASCII 文字符號。

ASCII 這樣的 用數字表明文字符號的規範,就被稱之爲 字符集

後來計算機傳遍了全世界,其它國家的文字符號就多了。

咱們中文,就有這麼多的文字符號。小學的時候,咱們有個3000經常使用字表(我驕傲一下,小學1年級我就認識了近2000多個字), 光經常使用字就有3千個。

固然還有 韓文、日文、繁體中文、阿拉伯文等等。

顯然ASCII是不夠的,咱們須要其它的數字來表明這些文字符號。

開始各個國家和地區 本身定義了本身的 字符集。

好比咱們中國就定義另一套規範, 規定了 用什麼樣的數字表明什麼樣的文字符號。

這套規範也在不斷的升級,包括 GB23十二、GBK、GB18030

各個國家定義了各國的文字的字符集,這就帶來了一個問題。

如今全球交流很密切,有時一篇文章會使用多國文字,好比 同時使用 日文和中文。 而沒有各國的字符集是不包含別國文字的, 這時就無法在一篇文章中存儲多國文字了。

爲了解決這個問題。 國際標準化組織定義了一個字符集,想包括世界上全部的文字符號。

這就是大名鼎鼎的 unicode 字符集。

這個字符集裏面包括了現今世界上的經常使用文字符號 和 其對應的數字表示。

這樣就解決了在一篇文章中包含多國文字的問題了。

字符編碼

unicode 出現了,很好,可是還有一個問題。 字符怎麼存儲和傳輸。

最初只有ASCII碼的時候,一個字節(最多能夠表示256個字符)就能夠存儲傳輸任何文字。

因此軟件硬件對 每一個字符都是用字節(8位二進制數字)來進行存儲、傳輸的。 沒有什麼問題。

可是unicode裏面有10多萬的文字符號,數字範圍 遠遠 超過 一個字節所能表明的數字。

因此一個字節不夠。

那麼怎麼用多個字節來 表示這些數字呢?

這就有須要另外的規範。這些 如何用字節表示 字符對應的數字 就是 字符編碼 規範

unicode字符 的編碼,最經常使用的規範是 UTF8 和 UTF16 。

好比 UTF8 表示 中文字符 你 ,就是用 3個字節表示的,對應的16進製表示是 E4 、BD、 A0

固然咱們中文字符集gb系列使用另外的編碼規範。

之後,咱們會寫一篇文章,以UTF8爲例,講解它是如何用多個字節存儲 數字的。

這裏咱們只要知道 不一樣的 編碼規範 對數字有不一樣的 用字節表示的方法就好了。

有了編碼規範,字符集 中的數字就能夠進行存儲和傳輸了

 

瞭解更多內容,請百度白月黑羽,或移步白月黑羽的官方網站

相關文章
相關標籤/搜索