1、輸入碼、區(qū)位碼、國標(biāo)碼與機內(nèi)碼輸入碼、區(qū)位碼、國標(biāo)碼與機內(nèi)碼,這些字對每一位computerfan來說,可能都不陌生,但其中的聯(lián)系與區(qū)別,可能就不那么清楚了,(筆者作為一名中專電腦教師,經(jīng)常遇到同學(xué)問類似的問題),下面就這問題講述一下,以饗讀者。
【資料圖】
2、我們知道,鍵盤是當(dāng)前微機的主要輸入設(shè)備,;輸入碼就是使用英文鍵盤輸入漢字時的編碼。
3、目前,我國已推出的輸入碼有數(shù)百種,但用戶使用較多的約為十幾種,按輸入碼編碼的主要依據(jù),大體可分為順序碼、音碼、形碼、音形碼四類,如“保”?字,用全拼,輸入碼為碼為“BAO”,用區(qū)位碼,輸入碼為“1703”,用五筆字型則為“WKS”。
4、計算機只識別由0、1組成的代碼,ASCII碼是英文信息處理的標(biāo)準(zhǔn)編碼,漢字信息處理也必須有一個統(tǒng)一的標(biāo)準(zhǔn)編碼。
5、我國國家標(biāo)準(zhǔn)局于1981年5月頒布了《信息交換用漢字編碼字符集——基本集》,代號為GB2312-80,共對6763個漢字和682個圖形字符進(jìn)行了編碼,其編碼原則為:漢字用兩個字節(jié)表示,每個字節(jié)用七位碼(高位為0),;國家標(biāo)準(zhǔn)將漢字和圖形符號排列在一個94行94列的二維代碼表中,;每兩個字節(jié)分別用兩位十進(jìn)制編碼,前字節(jié)的編碼稱為區(qū)碼,后字節(jié)的編碼稱為位碼,此即區(qū)位碼,;如“?!弊衷诙S代碼表中處于17區(qū)第3位,區(qū)位碼即為“1703”。
6、國標(biāo)碼并不等于區(qū)位碼,它是由區(qū)位碼稍作轉(zhuǎn)換得到,其轉(zhuǎn)換方法為:先將十進(jìn)制區(qū)碼和位碼轉(zhuǎn)換為十六進(jìn)制的區(qū)碼和位碼,;這樣就得了一個與國標(biāo)碼有一個相對位置差的代碼,;再將這個代碼的第一個字節(jié)和第二個字節(jié)分別加上20H,就得到國標(biāo)碼。
7、如:“?!?字的國標(biāo)碼為3123H,它是經(jīng)過下面的轉(zhuǎn)換得到的:1703D->1103H->+20H->3123H。
8、國標(biāo)碼是漢字信息交換的標(biāo)準(zhǔn)編碼,但因其前后字節(jié)的最高位為0,與ASCII碼發(fā)生沖突,如“?!?字,國標(biāo)碼為31H和23H,而西文字符“1”和“#”的SCII也為31H和23H,現(xiàn)假如內(nèi)存中有兩個字節(jié)為31H和23H,;這到底是一個漢字?,還是兩個西文字符“1”;和“#”?于是就出現(xiàn)了二義性,顯然,國標(biāo)碼是不可能在計算機內(nèi)部直接采用的,于是,;漢字的機內(nèi)碼采用變形國標(biāo)碼,其變換方法為:將國標(biāo)碼的每個字節(jié)都加上128,即將兩個字節(jié)的最高位由0改1,其余7位不變,如:由上面我們知道,“?!弊值膰鴺?biāo)碼為3123H,前字節(jié)為00110001B,后字節(jié)為00100011B,高位改1為10110001B和10100011B即為B1A3H,因此,?字的機內(nèi)碼就是B1A3H;。
9、顯然,漢字機內(nèi)碼的每個字節(jié)都大于128,這就解決了與西文字符的ASCII碼沖突的問題。
10、如上所述,漢字輸入碼、區(qū)位碼、;國標(biāo)碼與機內(nèi)碼都是漢字的編碼形式,它們之間有著千絲萬縷的聯(lián)系,但其間的區(qū)別也是不容忽視的。
本文到此分享完畢,希望對大家有所幫助。