漢字處理是國內(nèi)包括稅務(wù)系統(tǒng)常規(guī)信息處理的重要內(nèi)容。MS-DOS是西文操作系統(tǒng),不具有輸入/輸出漢字的能力,因此,若要進(jìn)行漢字處理,必須改造和擴(kuò)充西文DOS的能力。 早在70年代,我國就開始對漢字信息處理技術(shù)進(jìn)行研究并取得了一定成果。進(jìn)入80年代后,由于微機(jī)的發(fā)展,促使?jié)h字信息處理有了重大突破,并研制成功了第一個漢字操作系統(tǒng),定名為CCDOS。這是由原電子工業(yè)部第六研究所在PC-DOS的基礎(chǔ)上為IBM-PC及其兼容機(jī)開發(fā)的操作系統(tǒng)。
隨著計(jì)算機(jī)的發(fā)展,漢字系統(tǒng)已經(jīng)歷了三代,最早的CCDOS漢字系統(tǒng),其基本滿足漢字信息處理的要求,但處理速度慢,點(diǎn)陣字模不美觀等。發(fā)展到第二代,出現(xiàn)了UCDOS、SUPER-CCDOS 2.13等,它們在處理速度上有了很大提高,也有了較為精美的漢字字庫。到了第三代,漢字系統(tǒng)已能支持直接寫屏,如UCDOS 5.0、CXDOS 6.0、天匯 3.0等。這樣,對西文軟件無須漢化便能處理漢字了。另外,WINDOWS除了使用中文WINDOWS之外,也可用西文WINDOWS再在其上運(yùn)行漢字系統(tǒng)解決漢字問題,如中文之星、四通立方RichWin for Windows系列等。這些漢字系統(tǒng)字庫更精美、更繁多,功能更強(qiáng)大,使中文信息處理更加迅捷便利。
1.漢字的輸入
要進(jìn)行漢字輸入首先要解決漢字的編碼問題,主要是漢字在機(jī)內(nèi)如何表示。通常每個西文字符只占一個字節(jié)的存儲區(qū)。但由于漢字的數(shù)目眾多(屬于大字符集),因此需要采取不同的表示方法。
為統(tǒng)一標(biāo)準(zhǔn),1981年我國公布了《通信漢字字符集及其漢字交換標(biāo)準(zhǔn)》(GB2312-80)。在此方案中,共收錄了6763個常用漢字,其中較常用的3755個漢字組成一級字庫,按拼音順序排列;其余3007個漢字組成二級字庫,按部首順序排列。有了這個基本集,就可對這一定數(shù)量漢字集內(nèi)的每個漢字編成相應(yīng)的一組英文或數(shù)字代碼,使其能直接使用西文鍵盤輸入漢字。
當(dāng)前,漢字輸入編碼已經(jīng)“出臺”的方案有上百種,實(shí)際使用的也有幾十種,根據(jù)編碼方案設(shè)計(jì)時所依據(jù)的不同漢字屬性,可將它們分成:形碼,音碼,音形碼,區(qū)位碼。
形碼:根據(jù)漢字的字形結(jié)構(gòu)來編碼。它的優(yōu)點(diǎn)是:碼長(所謂碼長是一個漢字編碼的字符個數(shù))較短、重碼(所謂重碼是指同一編碼對應(yīng)多個漢字)率低、直觀,不受操作者文化程度高低、是否識字和各地方言不同的影響,只要看到字形,就能按規(guī)則擊鍵輸入。缺點(diǎn)是:有一套漢字的拆分規(guī)則要掌握,字根(若干筆畫復(fù)合連接交叉,形成相對不變的結(jié)構(gòu))在鍵盤上的分布規(guī)律要記憶。
音碼:根據(jù)漢字的讀音進(jìn)行編碼。它的優(yōu)點(diǎn)是:一般學(xué)過漢語拼音的人就可以輸入漢字,易學(xué),直觀,不受字體變化的影響。缺點(diǎn)是:碼長較長,重碼率高,不會讀或發(fā)音不準(zhǔn)確的字無法用拼音輸入。
音形碼:兼顧了漢字的字音、字形(或字義)而構(gòu)成的漢字輸入編碼。優(yōu)點(diǎn)是:吸取了音碼和形碼的長處,重碼率低。缺點(diǎn)是:編碼規(guī)則復(fù)雜難于學(xué)習(xí)和記憶。
區(qū)位碼:根據(jù)漢字在漢字集中的位置而進(jìn)行編碼。優(yōu)點(diǎn)是:漢字與碼組有嚴(yán)格的對應(yīng)關(guān)系,不需進(jìn)行二次選擇。缺點(diǎn)是難于記憶。
現(xiàn)在,我們常見的輸入法有。拼音輸入法,自然碼輸入法,表形碼輸入法,五筆字形輸入法等。其方法各異,各有其特點(diǎn)。在眾多漢字輸入法中還廣泛采用了一些輔助手段,如:詞組輸入,聯(lián)想輸入等,以提高漢字輸入的速度。
2.漢字的存儲
在實(shí)際漢字系統(tǒng)中,都是用兩個字節(jié)來表示一個漢字,也即一個漢字對應(yīng)兩個字節(jié)的二進(jìn)制碼,也就是說,用兩個字節(jié)對漢字進(jìn)行編碼,這樣即可將我們采用的漢字編入標(biāo)準(zhǔn)漢字代碼中,輸入時,我們輸入進(jìn)計(jì)算機(jī)的就是這兩個字節(jié)的漢字代碼,存儲亦然。
3.漢字的輸出
確定了漢字的機(jī)內(nèi)碼僅僅決定了每個漢字在國標(biāo)字符集中的位置,但并不能說明每個漢字的形狀。因此,要完成漢字的輸出任務(wù)還需要字型數(shù)據(jù)。在微機(jī)上,大多數(shù)的文字或圖形的形狀都是用“點(diǎn)”來描述的。存儲這些點(diǎn)由1和0來實(shí)現(xiàn),輸出時,計(jì)算機(jī)把1解釋成“寫點(diǎn)”,把0解釋為“不寫點(diǎn)”。這樣,漢字的點(diǎn)陣數(shù)據(jù)就與屏幕上的圖形對應(yīng)起來。為了能夠顯示漢字,在國標(biāo)集中的每個漢字都需要事先確定其點(diǎn)陣形狀,然后點(diǎn)陣轉(zhuǎn)換成對應(yīng)的數(shù)據(jù),一般以文件形式存放到計(jì)算機(jī)中,就構(gòu)成了漢字的字型庫或簡稱為字庫。
漢字的顯示一般需要一系列的步驟。例如,首先將用戶從鍵盤輸入的漢字編碼(輸入碼)轉(zhuǎn)化成機(jī)內(nèi)碼,然后根據(jù)內(nèi)碼從字庫中查找到該字的字模數(shù)據(jù),再將字模寫到屏幕或輸出到打印機(jī)。
聯(lián)系客服