ASCII碼是什么
ASCII ((American Standard Code for Information Interchange): 美國信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng)方淤,主要用于顯示現(xiàn)代英語和其他西歐語言。它是最通用的信息交換標(biāo)準(zhǔn)蹄殃,并等同于國際標(biāo)準(zhǔn)ISO/IEC 646携茂。ASCII第一次以規(guī)范標(biāo)準(zhǔn)的類型發(fā)表是在1967年,最后一次更新則是在1986年诅岩,到目前為止共定義了128個(gè)字符讳苦。
為什么需要ASCII碼
在計(jì)算機(jī)中带膜,所有的數(shù)據(jù)在存儲和運(yùn)算時(shí)都要使用二進(jìn)制數(shù)表示(因?yàn)橛?jì)算機(jī)用高電平和低電平分別表示1和0),例如医吊,像a钱慢、b、c卿堂、d這樣的52個(gè)字母(包括大寫)以及0、1等數(shù)字還有一些常用的符號(例如*懒棉、#草描、@等)在計(jì)算機(jī)中存儲時(shí)也要使用二進(jìn)制數(shù)來表示,而具體用哪些二進(jìn)制數(shù)字表示哪個(gè)符號策严,當(dāng)然每個(gè)人都可以約定自己的一套(這就叫編碼)穗慕,而大家如果要想互相通信而不造成混亂,那么大家就必須使用相同的編碼規(guī)則妻导,于是美國有關(guān)的標(biāo)準(zhǔn)化組織就出臺了ASCII編碼逛绵,統(tǒng)一規(guī)定了上述常用符號用哪些二進(jìn)制數(shù)來表示 [2] 。
美國標(biāo)準(zhǔn)信息交換代碼是由美國國家標(biāo)準(zhǔn)學(xué)會(American National Standard Institute , ANSI )制定的倔韭,是一種標(biāo)準(zhǔn)的單字節(jié)字符編碼方案术浪,用于基于文本的數(shù)據(jù)。它最初是美國國家標(biāo)準(zhǔn)寿酌,供不同計(jì)算機(jī)在相互通信時(shí)用作共同遵守的西文字符編碼標(biāo)準(zhǔn)胰苏,后來它被國際標(biāo)準(zhǔn)化組織(International Organization for Standardization, ISO)定為國際標(biāo)準(zhǔn),稱為ISO 646標(biāo)準(zhǔn)醇疼。適用于所有拉丁文字字母 [3] 硕并。
局限性和后續(xù)
在英語中,用128個(gè)符號編碼便可以表示所有秧荆,但是用來表示其他語言倔毙,128個(gè)符號是不夠的。比如乙濒,在法語中陕赃,字母上方有注音符號,它就無法用 ASCII 碼表示琉兜。于是凯正,一些歐洲國家就決定,利用字節(jié)中閑置的最高位編入新的符號豌蟋。比如廊散,法語中的é的編碼為130(二進(jìn)制10000010)。這樣一來梧疲,這些歐洲國家使用的編碼體系允睹,可以表示最多256個(gè)符號运准。
但是,這里又出現(xiàn)了新的問題缭受。不同的國家有不同的字母胁澳,因此,哪怕它們都使用256個(gè)符號的編碼方式米者,代表的字母卻不一樣韭畸。比如,130在法語編碼中代表了é蔓搞,在希伯來語編碼中卻代表了字母Gimel (?)胰丁,在俄語編碼中又會代表另一個(gè)符號。但是不管怎樣喂分,所有這些編碼方式中锦庸,0--127表示的符號是一樣的,不一樣的只是128--255的這一段 [5] 蒲祈。
至于亞洲國家的文字甘萧,使用的符號就更多了,漢字就多達(dá)10萬左右梆掸。一個(gè)字節(jié)只能表示256種符號扬卷,肯定是不夠的,就必須使用多個(gè)字節(jié)表達(dá)一個(gè)符號沥潭。比如邀泉,簡體中文常見的編碼方式是 GB2312,使用兩個(gè)字節(jié)表示一個(gè)漢字钝鸽,所以理論上最多可以表示 256 x 256 = 65536 個(gè)符號 汇恤。