第三章 漢字和西文字符存儲與顯示原理.ppt_第1頁
第三章 漢字和西文字符存儲與顯示原理.ppt_第2頁
第三章 漢字和西文字符存儲與顯示原理.ppt_第3頁
第三章 漢字和西文字符存儲與顯示原理.ppt_第4頁
第三章 漢字和西文字符存儲與顯示原理.ppt_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第三章 漢字和西文字符存儲與顯示原理,主要內(nèi)容:,3.1 英文字符在計(jì)算機(jī)中表示 3.2 漢字在計(jì)算機(jī)中表示和顯示,3.1 英文字符在計(jì)算機(jī)中表示,3.1.1 ASCII碼 英文字符、數(shù)字和計(jì)算機(jī)中用的控制符號在計(jì)算機(jī)中是用ASCII碼來表示的。ASCII碼(American Standard Code for Interchange)是美國國家信息交換標(biāo)準(zhǔn)碼,現(xiàn)已成為國際通用的信息交換標(biāo)準(zhǔn)代碼。 ASCII碼共有128個(gè)元素,其中通用字符32個(gè)、十進(jìn)制數(shù)字10個(gè)、52個(gè)英文大小寫字母和34個(gè)專用符號。這128個(gè)元素用一個(gè)字節(jié)二進(jìn)制數(shù)表示,因?yàn)?位二進(jìn)制數(shù)就可表示128個(gè)元素,該字節(jié)多余的最高

2、位取0。,表3-1 7位ASCII碼表,3.1.2 英文字符的顯示 我們知道,無論CRT顯示器,還是液晶顯示器(LCD),它們的分辨率都是以像素為單位的,一個(gè)像素就是屏幕上的一個(gè)可以顯示的最小單位,也就是常說的“點(diǎn)”。因此要在屏幕上顯示一個(gè)英文字符也必須用點(diǎn)來表式,這些表示某種圖形或英文字符的點(diǎn)的集合就是我們所說的點(diǎn)陣。 常用的英文字符有88點(diǎn)陣和816點(diǎn)陣,如大寫“A” 88點(diǎn)陣如圖3-1所示。,圖3-1 大寫“A”88點(diǎn)陣,0 x30,0 x78,0 xCC,0 xCC,0 xFC,0 xCC,0 xCC,0 x00,88點(diǎn)陣共有8行,每行8個(gè)點(diǎn);每行的8個(gè)點(diǎn)組成二進(jìn)制的一個(gè)字節(jié),字節(jié)的最

3、高位D7在最左,最低位D0在最右。字節(jié)中打點(diǎn)的位(bit)值等于1,沒有點(diǎn)的位bit值等于0。這樣,每行的一個(gè)字節(jié)都有一個(gè)16進(jìn)制數(shù)的值,例如第一行的值是0 x30,第二行的值是0 x78,8行8個(gè)字節(jié)數(shù)據(jù)是:0 x30,0 x78,0 xCC,0 xCC,0 xFC,0 xCC,0 xCC,0 x00。 我們把這8個(gè)字節(jié)數(shù)據(jù)叫字符“A”的88點(diǎn)陣字模。存儲全部英文字符88點(diǎn)陣字模的存儲單元叫英文字符88點(diǎn)陣字庫。字庫是按ASCII碼順序存放,顯示時(shí),按存放規(guī)律將要顯示的字符的字模取出,按圖3-1所示順序把字節(jié)數(shù)據(jù)輸出到屏上即可,bit值等于1的點(diǎn)顯示時(shí)在屏上該bit 位置“打”點(diǎn),bit值等

4、于0的點(diǎn)顯示時(shí)在屏上該bit 位置“打”空白。,816點(diǎn)陣顯示原理同88點(diǎn)陣,88點(diǎn)陣一個(gè)字模占8個(gè)字節(jié),816點(diǎn)陣一個(gè)字模占16個(gè)字節(jié)。大寫“A” 816點(diǎn)陣如圖3-2所示。,“A”816點(diǎn)陣字模:0 x00,0 x00,0 x38,0 x6C,0 xC6,0 x06,0 xC6,0 xFE, 0 xC6,0 x06,0 xC6,0 xC6,0 x00,0 x00,0 x00,0 x00,圖3-2 大寫“A”816點(diǎn)陣,3.2 漢字在計(jì)算機(jī)中表示和顯示,3.2.1 漢字的內(nèi)碼和區(qū)位碼 在計(jì)算機(jī)中英文字符是用一個(gè)字節(jié)的ASCII碼表示,該字節(jié)最高位一般置0或用做奇偶校驗(yàn),故實(shí)際是用7位碼來代表

5、128個(gè)字符的,但對于眾多的漢字,只有用兩個(gè)字節(jié)才能代表,這樣用兩個(gè)字節(jié)代表一個(gè)漢字的代碼體制,國家制定了統(tǒng)一標(biāo)準(zhǔn),稱為國標(biāo)碼。 國標(biāo)碼規(guī)定,組成兩字節(jié)代碼的最高位為0,即每個(gè)字節(jié)僅只使用7位,這樣在機(jī)器內(nèi)使用時(shí),由于英文的ASCII碼也在使用,可能將國標(biāo)碼看成兩個(gè)ASCII碼,因而規(guī)定用國標(biāo)碼在機(jī)內(nèi)表示漢字時(shí),將每個(gè)字節(jié)的最高位置1,以表示該碼表示的是漢字,這些國標(biāo)碼兩字節(jié)最高位加1后的代碼稱為機(jī)器內(nèi)的漢字代碼,簡稱內(nèi)碼。,3.2 漢字在計(jì)算機(jī)中表示和顯示,國家標(biāo)準(zhǔn)的漢字字符集(GB2312-80)在漢字操作系統(tǒng)中是以漢字庫的形式提供的。漢字庫結(jié)構(gòu)作了統(tǒng)一規(guī)定,即將字庫分成94個(gè)區(qū),每個(gè)區(qū)有

6、94個(gè)漢字(以位做區(qū)別),每一個(gè)漢字在漢字庫中有確定的區(qū)和位編號(用兩個(gè)字節(jié)),就是所謂的區(qū)位碼,區(qū)位碼的第一個(gè)字節(jié)表示區(qū)號,第二個(gè)字節(jié)表示位號,只要知道了區(qū)位碼,就可知道該漢字在字庫中的地址。 當(dāng)我們用某種輸入設(shè)備例如鍵盤將漢字輸入計(jì)算機(jī)時(shí),管理模塊將自動的把鍵盤輸入的漢字轉(zhuǎn)換為內(nèi)碼。當(dāng)要顯示該漢字時(shí),再由內(nèi)碼轉(zhuǎn)換成區(qū)位碼,在漢字庫找到該漢字,進(jìn)行顯示。如“哈”的區(qū)位碼為2594,它表示該字字模在字符集的第25個(gè)區(qū)的第94個(gè)位置。,3.2.2 漢字的顯示 每個(gè)漢字在字庫中是以點(diǎn)陣形式存儲的,常采用1212、1616、2424、4848點(diǎn)陣形式,同英文字模一樣,每個(gè)點(diǎn)用一個(gè)二進(jìn)制bit位表示,

7、bit=1的點(diǎn),當(dāng)顯示時(shí),就可以在屏上顯示一個(gè)點(diǎn),bit=0的點(diǎn),則在屏上不顯示,這樣把存某字的點(diǎn)陣信息直接用來在顯示器上按上述原則顯示,將出現(xiàn)對應(yīng)的漢字。 最常用的漢字是1616點(diǎn)陣,它是由行、列各16個(gè)點(diǎn),共256個(gè)點(diǎn)組成的點(diǎn)陣圖案,每行的16個(gè)點(diǎn)在內(nèi)存中占二個(gè)字節(jié),一個(gè)1616點(diǎn)陣漢字共16行,在內(nèi)存中占32個(gè)字節(jié)。,根據(jù)這些字節(jié)在字膜中存放的順序,第一行的第一個(gè)字節(jié)我們稱“0”號字節(jié),第二個(gè)字節(jié)我們稱“1”號字節(jié);第二行的第一個(gè)字節(jié)我們稱“2”號字節(jié),第二個(gè)字節(jié)我們稱“3”號字節(jié)。以此類推,最后一行的第一個(gè)字節(jié)我們稱“30”號字節(jié),第二個(gè)字節(jié)我們稱“31”號字節(jié),每個(gè)字節(jié)高位在前,低位

8、在后,即D7在一個(gè)字節(jié)的最左側(cè),D0在最右側(cè)。具體如圖3-3所示:,圖3-3 1616點(diǎn)陣漢字在字模中排列,不同的漢字各字節(jié)數(shù)據(jù)不同,圖3-4是仿宋體“哈”字的1616點(diǎn)陣字模,在點(diǎn)陣中,每一個(gè)小方格代表字節(jié)中的一位(bit),黑色的點(diǎn)bit值等于1,白色的點(diǎn)bit值等于0。,圖3-4 仿宋體“哈”字的1616點(diǎn)陣,0 x00,0 x40,0 x00,0 x40,0 x08,0 xA0,0 x7C,0 xA0, 0 x49,0 x10,0 x49,0 x08,0 x4A,0 x0E,0 x4D,0 xF4, 0 x48,0 x00,0 x48,0 x08,0 x4B,0 xFC,0 x7A,0

9、 x08, 0 x4A, 0 x08,0 x02,0 x08,0 x03,0 xF8,0 x02,0 x08,如我們要在屏幕的X行Y列位置顯示上面的“哈”字,則可以從點(diǎn)(X,Y)開始將0號字節(jié)和1號字節(jié)的內(nèi)容輸出到屏幕上;然后行加1,列再回到,輸出2號字節(jié)和3號字節(jié),依此類推16個(gè)循環(huán)即可完成一個(gè)漢字的顯示。 輸出一個(gè)字節(jié)數(shù)據(jù)時(shí),該字節(jié)中“位”(bit)為1時(shí)在該“位”位置打點(diǎn),為0時(shí)該“位”位置打空白。 此外常用的漢字還有2424點(diǎn)陣,它是由行列各24個(gè)點(diǎn)組成的點(diǎn)陣圖案,它每列的24個(gè)點(diǎn)在內(nèi)存中占三個(gè)字節(jié),一個(gè)2424點(diǎn)陣漢字共24列,在內(nèi)存中占72個(gè)字節(jié);4848點(diǎn)陣,行列為4848,一個(gè)

10、漢字占內(nèi)存288個(gè)字節(jié)。1212點(diǎn)陣(為方便編程把列12點(diǎn)擴(kuò)展為16點(diǎn),既二個(gè)字節(jié))行列為1216,一個(gè)漢字占內(nèi)存24個(gè)字節(jié)。,3.2.3 其它西文字符在計(jì)算機(jī)中存儲和顯示 我國在1981年公布的信息交換用漢字編碼字符集(基本集)GB2312-80中,94個(gè)區(qū)中除6763個(gè)漢字外,第37區(qū)給這些符號留下了位置,如第3區(qū)為英文大小寫符號、第4區(qū)為日文平假名、第5區(qū)為日文片假名、第6區(qū)為大小寫希臘字母、第7區(qū)為大小寫俄羅斯字母。 這些字符每一個(gè)都有固定的區(qū)位碼,當(dāng)然也都有一個(gè)固定的內(nèi)碼。當(dāng)用某種輸入法輸入一個(gè)西文字符時(shí),在計(jì)算機(jī)中是用內(nèi)碼表示的,顯示時(shí)通過內(nèi)碼計(jì)算出區(qū)位碼,找到該字符字模進(jìn)行顯示。

11、其中英文字符比較特殊,在西文操作系統(tǒng)中,如上所述,它是以ASCII碼存儲的,而在漢字操作系統(tǒng)中,它是做為一個(gè)漢字,以內(nèi)碼方式存儲。,如希臘字母“” 它的區(qū)位碼是0634,它在字庫中位于6區(qū)34位,它的1616點(diǎn)陣字模如圖3-6所示,顯示效果如圖3-7。,圖3-6希臘字母“” 1616點(diǎn)陣字模,圖3-7希臘字母“” 1616點(diǎn)陣圖案,3.2.5字模提取與小字庫建立 一個(gè)1212點(diǎn)陣漢字在內(nèi)存中占24個(gè)字節(jié)、一個(gè)1616點(diǎn)陣漢字在內(nèi)存中占32個(gè)字節(jié)、一個(gè)2424點(diǎn)陣漢字在內(nèi)存中占72個(gè)字節(jié)、一個(gè)4848點(diǎn)陣漢字在內(nèi)存中占288個(gè)字節(jié);每一種點(diǎn)陣漢字庫都有6763個(gè)漢字、700多其它字符。所以漢字占用內(nèi)存量是非常大的。 一般控制系統(tǒng)漢字界面可能有幾種不同的字體,可能還有西文字符,我們不可能將所涉及的字庫都引入程序。最現(xiàn)實(shí)的辦法就是將我們系統(tǒng)中用到漢字從大字庫中提取出來,重新建立一個(gè)小字庫,這樣就解決了使用數(shù)量少,種類多的漢字顯示問題。,第三章習(xí)題:,1英文字符在計(jì)算機(jī)中如何表示?如何顯示? 2說出控制字符“回車”,“空格”的ASCII值。 3說出的英文字符“A”,“a”,和數(shù)字“0”的ASCII值。 4漢字在計(jì)算機(jī)中如何表示?如何顯示? 5什么是區(qū)碼,什么是位碼?漢字庫分多少區(qū),每個(gè)區(qū)多少

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論