
在計(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ù)。起始于50年代后期,在1967年定案。它最初是美國國家標(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)。適用于所有拉丁文字字母。
ASCII 碼使用指定的7 位或8 位二進(jìn)制數(shù)組合來表示128 或256 種可能的字符。標(biāo)準(zhǔn)ASCII 碼也叫基礎(chǔ)ASCII碼,使用7 位二進(jìn)制數(shù)(剩下的1位二進(jìn)制為0)來表示所有的大寫和小寫字母,數(shù)字0 到9、標(biāo)點(diǎn)符號, 以及在美式英語中使用的特殊控制字符。其中:
0~31及127(共33個(gè))是控制字符或通信專用字符(其余為可顯示字符),如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BS(退格)、BEL(響鈴)等;通信專用字符:SOH(文頭)、EOT(文尾)、ACK(確認(rèn))等;ASCII值為8、9、10 和13 分別轉(zhuǎn)換為退格、制表、換行和回車字符。它們并沒有特定的圖形顯示,但會依不同的應(yīng)用程序,而對文本顯示有不同的影響。
32~126(共95個(gè))是字符(32是空格),其中48~57為0到9十個(gè)阿拉伯?dāng)?shù)字。
65~90為26個(gè)大寫英文字母,97~122號為26個(gè)小寫英文字母,其余為一些標(biāo)點(diǎn)符號、運(yùn)算符號等。
同時(shí)還要注意,在標(biāo)準(zhǔn)ASCII中,其最高位(b7)用作奇偶校驗(yàn)位。所謂奇偶校驗(yàn),是指在代碼傳送過程中用來檢驗(yàn)是否出現(xiàn)錯(cuò)誤的一種方法,一般分奇校驗(yàn)和偶校驗(yàn)兩種。奇校驗(yàn)規(guī)定:正確的代碼一個(gè)字節(jié)中1的個(gè)數(shù)必須是奇數(shù),若非奇數(shù),則在最高位b7添1;偶校驗(yàn)規(guī)定:正確的代碼一個(gè)字節(jié)中1的個(gè)數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。
后128個(gè)稱為擴(kuò)展ASCII碼。許多基于x86的系統(tǒng)都支持使用擴(kuò)展(或“高”)ASCII。擴(kuò)展ASCII 碼允許將每個(gè)字符的第8 位用于確定附加的128 個(gè)特殊符號字符、外來語字母和圖形符號。
出現(xiàn)問題
ASCII是美國標(biāo)準(zhǔn),所以它不能良好滿足其它講英語國家的需要。例如英國的英鎊符號(£)在哪里?
拉丁語字母表重音符號
使用斯拉夫字母表的希臘語、希伯來語、阿拉伯語和俄語。
漢字系統(tǒng)的中國象形漢字,日本和朝鮮。
1967年,國際標(biāo)準(zhǔn)化組織(ISO:International Standards Organization)推薦一個(gè)ASCII的變種,
代碼0x40、0x5B、0x5C、0x5D、0x7B、0x7C和0x7D“為國家使用保留”,而代碼0x5E、0x60和0x7E標(biāo)為
“當(dāng)國內(nèi)要求的特殊字符需要8、9或10個(gè)空間位置時(shí),可用于其它圖形符號”。
擴(kuò)展
1. 1981年IBM PC ROM256個(gè)字符的字符集,即IBM擴(kuò)展字符集
2. 1985年11 Windows字符集被稱作“ANSI字符集”,遵循了ANSI草案和ISO標(biāo)準(zhǔn)(ANSI/ISO8859-1-1987,簡“Latin 1”。
3. 1987年4月代碼頁437,字符的映像代碼,在MS-DOS3.3出現(xiàn)。
擴(kuò)展ASCII 字符是從128 到255(0x80-0xff)的字符。 [6] 錨點(diǎn)錨點(diǎn)
擴(kuò)展ASCII不再是國際標(biāo)準(zhǔn)。
4. 雙字節(jié)字符集(DBCS:double-byte character set),解決中國、日本和韓國的象形文字符和ASCII的某種兼容性。DBCS從256代碼開始,就像ASCII一樣。與任何行為良好的代碼頁一樣,最初的128個(gè)代碼是ASCII。然而,較高的128個(gè)代碼中的某些總是跟隨著第二個(gè)字節(jié)。這兩個(gè)字節(jié)一起(稱作首字節(jié)和跟隨字節(jié))定義一個(gè)字符,通常是一個(gè)復(fù)雜的象形文字。