一、ANSI (American National Standards Institute,美國國家標準協會)制定的「ASCII」編碼(American Standard Code for Information Interchange,美國信息互換標準代碼)。那時世界上全部的計算機都用一樣的ASCII方案來保存英文文字,是基於拉丁字母的一套電腦編碼系統,主要是用於顯示現代英語和其餘西歐的語言,它是現今最通用的單字節編碼系統,等同於國際標準ISO/IEC 646。
react
下面咱們來看一下,ASCII表格。編碼
ASCII碼爲7位,佔一個字節(最高爲0),它存放時必須佔全一個字節,也即佔用8位。ASCII編碼是由ANSI(美國國家標準協會)制定的一種包括數字、字母、通用符號、控制符號在內的字符編碼集。spa
編碼簡單描述:設計
(1)ASCII碼:美國人最初把本身的語言用計算表示,發現0-127能夠表示數字、字母、通用符號、控制符號。(7位,佔用1個字節。)3d
(2)ISO 8899-1:歐洲人研發,0-127是ASCII碼,128-255加了一些特殊的字符。(佔用1個字節。)code
(3)GBK:中國人研發,兼容ASCII碼來表示中文。(佔用兩個2字節。)orm
(4)Unicode:設計出全世界語言的對應編碼,就像編了一本大漢語詞典。 blog
定義地址範圍:3個字節(編碼表的編號從0一直算到了100多萬)。utf-8
字符都有惟一的編號,這就解決了解碼的衝突。資源
沒有爲編碼的二進制傳輸和二進制解碼做出規定。
因而,就出現了以下解決方案:utf-8(1個字節), utf-16(2個字節), utf-32(4個字節)這些編碼方案。
utf-8這種解決方案,用得最多,由於在當時它的方案最好,最節省資源。
utf-8爲了節省資源,採用變長編碼,編碼長度從1個字節到6個字節不等。
提問:後面字節的前兩位一概設爲10,爲何呢?
後面字節的前兩位一概設爲10(10000000
也就是80)是由於必需要大於7F才和ASCII碼分開。
下面,咱們來宏觀的看一下UTF-8和Unicode是怎麼工做的吧?