資源描述:
《字符集與編碼方式簡(jiǎn)介.docx》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、字符集與字符編碼簡(jiǎn)介?我們知道,計(jì)算機(jī)只能識(shí)別諸如0101這樣的二進(jìn)制數(shù),于是人們必須以二進(jìn)制數(shù)據(jù)與計(jì)算機(jī)進(jìn)行交互,或者先將人類(lèi)使用的字符按一定規(guī)則轉(zhuǎn)換為二進(jìn)制數(shù)。那什么是字符呢?在計(jì)算機(jī)領(lǐng)域,我們把諸如文字、標(biāo)點(diǎn)符號(hào)、圖形符號(hào)、數(shù)字等統(tǒng)稱(chēng)為字符。而由字符組成的集合則成為字符集,字符集由于包含字符的多少與異同而形成了各種不同的字符集。我們知道,所有字符在計(jì)算機(jī)中都是以二進(jìn)制來(lái)存儲(chǔ)的。那么一個(gè)字符究竟由多少個(gè)二進(jìn)制位來(lái)表示呢?這就涉及到字符編碼的概念了,比如一個(gè)字符集有8個(gè)字符,那么用3個(gè)二進(jìn)制位就可以完全表示該字符集的所有字符,也即每個(gè)字符用3個(gè)二進(jìn)制位進(jìn)行編碼。?我們規(guī)定字符編碼必須完
2、成如下兩件事:(1)????規(guī)定一個(gè)字符集中的字符由多少個(gè)字節(jié)表示(2)????制定該字符集的字符編碼表,即該字符集中每個(gè)字符對(duì)應(yīng)的(二進(jìn)制)值。?1.????ASCII?碼:上個(gè)世紀(jì)60年代,美國(guó)制定了一套字符編碼標(biāo)準(zhǔn),對(duì)英語(yǔ)字符與二進(jìn)制位之間的關(guān)系,做了統(tǒng)一規(guī)定。這被稱(chēng)為ASCII碼,一直沿用至今。ASCII(AmericanStandardCodeforInformationInterchange),是一種字符編碼標(biāo)準(zhǔn),它的字符集為英文字符集,它規(guī)定字符集中的每個(gè)字符均由一個(gè)字節(jié)表示,指定了字符表編碼表,稱(chēng)為ASCII碼表。它已被國(guó)際標(biāo)準(zhǔn)化組織定義為國(guó)際標(biāo)準(zhǔn),稱(chēng)為ISO646標(biāo)準(zhǔn)。
3、ASCII碼一共規(guī)定了128個(gè)字符的編碼,比如空格“SPACE”是32(二進(jìn)制),大寫(xiě)的字母A是65(二進(jìn)制)等。這128個(gè)符號(hào)(包括32個(gè)不能打印出來(lái)的控制符號(hào)),只占用了一個(gè)字節(jié)的后面7位,最前面的1位統(tǒng)一規(guī)定為0。這種采用一個(gè)字節(jié)來(lái)編碼128個(gè)字符的ASCII碼稱(chēng)為標(biāo)準(zhǔn)?ASCII?碼或者基礎(chǔ)ASCII碼。在標(biāo)準(zhǔn)ASCII碼表中,0~31及127(共33個(gè))是控制字符或通訊專(zhuān)用字符,如控制符:LF(換行)、CR(回車(chē))、FF(換頁(yè))、DEL(刪除)、BS(退格)、BEL(振鈴)等;通訊專(zhuān)用字符:SOH(文頭)、EOT(文尾)、ACK(確認(rèn))等;ASCII值為?8、9、10?和?13
4、?分別轉(zhuǎn)換為退格、制表、換行和回車(chē)字符。它們并沒(méi)有特定的圖形顯示,但會(huì)依不同的應(yīng)用程序,而對(duì)文本顯示有不同的影響。????32~126(共95個(gè))是可顯示字符,其中32是空格,48~57為0到9十個(gè)阿拉伯?dāng)?shù)字;65~90為26個(gè)大寫(xiě)英文字母,97~122號(hào)為26個(gè)小寫(xiě)英文字母,其余為一些標(biāo)點(diǎn)符號(hào)、運(yùn)算符號(hào)等。?????同時(shí)還要注意,在標(biāo)準(zhǔn)ASCII中,其最高位(b7)可用作奇偶校驗(yàn)位。所謂奇偶校驗(yàn),是指在代碼傳送過(guò)程中用來(lái)檢驗(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é)中
5、1的個(gè)數(shù)必須是偶數(shù),若非偶數(shù),則在最高位b7添1。?但是,由于標(biāo)準(zhǔn)?ASCII?字符集字符數(shù)目有限,在實(shí)際應(yīng)用中往往無(wú)法滿(mǎn)足要求。為此,國(guó)際標(biāo)準(zhǔn)化組織又制定了?ISO2022?標(biāo)準(zhǔn),它規(guī)定了在保持與?ISO646?兼容的前提下將?ASCII?字符集擴(kuò)充為?8?位代碼的統(tǒng)一方法。?ISO?陸續(xù)制定了一批適用于不同地區(qū)的擴(kuò)充?ASCII?字符集,每種擴(kuò)充?ASCII?字符集分別可以擴(kuò)充?128?個(gè)字符,這些擴(kuò)充字符的編碼均為高位為?1?的?8?位代碼(即十進(jìn)制數(shù)?128~255?),稱(chēng)為擴(kuò)展?ASCII?碼。但是需要注意,各種擴(kuò)展ASCII碼除了編碼為0~127的字符外,編碼為128~255
6、的字符并不相同。比如,130在法語(yǔ)編碼中代表了é,在希伯來(lái)語(yǔ)編碼中卻代表了字母Gimel(?),在俄語(yǔ)編碼中又會(huì)代表另一個(gè)符號(hào)。??2.????ANSI編碼標(biāo)準(zhǔn)??????標(biāo)準(zhǔn)ASCII碼和擴(kuò)展ASCII碼滿(mǎn)足了西語(yǔ)國(guó)家的需求,但是,隨著計(jì)算機(jī)在世界范圍內(nèi)的普及,對(duì)于亞洲國(guó)家,如中日韓等國(guó)來(lái)說(shuō),他們使用的符號(hào)很多,ASCII字符編碼標(biāo)準(zhǔn)遠(yuǎn)遠(yuǎn)不能滿(mǎn)足其需要,于是這些國(guó)家便針對(duì)本國(guó)的字符集指定了相應(yīng)的字符編碼標(biāo)準(zhǔn),如GB2312、BIG5、JIS等僅適用于本國(guó)字符集的編碼標(biāo)準(zhǔn)。這些字符編碼標(biāo)準(zhǔn)統(tǒng)稱(chēng)為ANSI編碼標(biāo)準(zhǔn),這些ANSI編碼標(biāo)準(zhǔn)有一些共同的特點(diǎn):(1)???每種ANSI字符集只規(guī)定自
7、己國(guó)家或地區(qū)使用的語(yǔ)言所需的'字符';比如簡(jiǎn)體中文編碼標(biāo)準(zhǔn)GB-2312的字符集中就不會(huì)包含韓國(guó)人的文字。(2)???ANSI字符集的空間都比ASCII要大很多,一個(gè)字節(jié)已經(jīng)不夠,絕大多數(shù)ANSI編碼標(biāo)準(zhǔn)都使用多個(gè)字節(jié)來(lái)表示一個(gè)字符。(3)???ANSI編碼標(biāo)準(zhǔn)一般都會(huì)兼容ASCII碼。?這里要特別提一下我國(guó)的幾種字符編碼標(biāo)準(zhǔn):GB2312、GBK、GB18030。字符必須編碼后才能被計(jì)算機(jī)處理。計(jì)算機(jī)使用的缺省編碼方式就是計(jì)算機(jī)的