二進制理解

以狼煙爲例,那麼只有點火和沒點兩種狀態,沒法準確知道敵軍的數量,這個時候就有人想到了一種表示方法優化

每一個狼煙均可以表示兩種狀態,點火和沒點兩種狀態,分別用0和1表示編碼

第1個狼煙:點着表示1個敵人,沒點表示沒有敵人code

     0      1blog

第2個狼煙:沒有點着的表示沒有敵人,只點着第一個狼煙表示來了一個敵人,只點着第二個狼煙表示來了2個敵人,2個狼煙都點着表示3個敵人ci

       0    1                 0   2 unicode

       00  01  10  11it

第三個狼煙:沒有點着的時候表示沒有敵人,只點第一個狼煙表示來了一個敵人,只點第二個狼煙表示來了2個敵人,只點第三個狼煙表示來了4個敵人,三個都點表示來了7個敵人二進制

     0     1                0   2                 0  4方法

       000   001  011  010  100  101  111 101im

以此類推

第八個狼煙:  最多可表示255個敵人

             

     0     1                0   2                 0  4                 0   8                 0  16                0  32               0  64                 0  128

 

計算機中最小存儲單位是位(bit)

1byte=8bit

根據以上事例:

計算機中最小單位由一個8位的01組合存儲,最大可表示255

若是咱們用一個二進制數字表示一個字符,好比說用「0100 0001」來表示A。

根據這個對應關係,獲得如下表格

 

 

 這就是編碼

 這套編碼叫ASCII(美國(國家)信息交換標準(代)碼),使用7個或8個二進制位進行編碼的方案,最多能夠給256個字符。使用了ASCII碼,不一樣的計算機之間就能夠實現數據的標準化。可是ASCII使用的時候有一些限制。他最多之能夠表示256個字符。若是有其餘的字符就無能爲力了。ASCII只能表示26個基本的拉丁字母、阿拉伯數字和英式標點。所以也只能用於顯示現代美國英語。後來計算機世界開始有了其餘語言,ASCII碼已經沒法知足需求。後來不一樣語言的人各自爲本身定製了一套屬於本身的編碼,同時與ASCII保持兼容。這些編碼統稱MBCS,到了這裏你們都開始好似用雙字節。(中國的叫GB*,好比GBK).在後來有人開始以爲,這麼多編碼,有些編碼之間還不兼容,太讓人頭大了,因而有這麼一羣人就坐在一塊兒想出了一個辦法:全部的語言都使用同一種編碼,這種編碼就是Unicode。 Unicode使用最少2個字節(1個字節=1BYTE=8bit=一個長度爲8的二進制數) 來表示字母和符號等,有時候是4個字節。這樣就解決了上面遇到的問題。Unicode又叫萬國碼,是業界的一種標準。可是有人又以爲若是我要表示一個ASCII裏的字符,使用unicode來表示不是太浪費空間了嗎,因而就有人想出了另一種解決方案——UTF-8。UTF-8是對Unicode編碼的壓縮和優化,最大的特色是它採用了變長的編碼方式,他再也不是最少使用2個字節,而是將全部的字符進行分類。ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存…

相關文章
相關標籤/搜索