導航:首頁 > 源碼編譯 > 顯示漢字時系統需要漢字編譯嘛

顯示漢字時系統需要漢字編譯嘛

發布時間:2022-09-02 22:56:58

『壹』 如何顯示漢字

在C程序中顯示漢字

在許多C程序設計中,要用到漢字進行提示或人機交互,而現行的Turbo C集成開發環境不是漢化的,如何編制能顯示漢字的C程序呢?

下面的方法可以幫你在西文環境下顯示漢字。這種方法是調用中文漢字型檔進行漢字顯示。國家標准規定:漢字型檔分94個區,每個區有94個漢字(以位作區別),每個漢字在漢字型檔中有確定的區和位編號,這就是漢字的區位碼。每個漢字在庫中是以點陣字模形式存儲的,一般採用16×16點陣(32位元組)、24×24點陣(72位元組),每個點用一個二進制位(0或1)表示,對應在屏幕上顯示出來,就是相應的漢字。

由於在中文環境下,輸入的是漢字的內碼,我們必須將之轉換成區位碼,算出偏移量,從字型檔中找到對應的漢字,將其字模顯示即可。

內碼轉換成區位碼方法如下:

qh=c1-0xa0 wh=c2-0xa0

其區位碼就是:

qw=qh*0xff+wh

該漢字在字型檔中離起點的位置是:

offset=(94*(qh-1)+(wh-1))*32L

程序例:

#include 〈graphics.h〉

#include 〈stdio.h〉

#include 〈fcntl.h〉

#include 〈io.h〉

#include 〈stdlib.h〉

#include 〈conio.h〉

#define ROW 1 //縱坐標放大倍數

#define COL 2 //橫坐標放大倍數

void main()

{

int x,y;

char *s=〃漢字顯示程序〃;

FILE *fp;

char buffer[32]; //buffer用來存儲一個漢字

register m,n,i,j,k;

unsigned char qh,wh;

unsigned long offset;

int gd=DETECT,gm; //圖形屏幕初始化

initgraph(&gd,&gm,〃 〃);

if ((fp=fopen(〃hzk16〃,〃rb〃))==NULL)

//打開漢字型檔,該字型檔可以在ucdos中找到

{ printf(〃Can't open haz16,Please add it〃);

getch(); closegraph(); exit(0);

}

x=20; y=100; //顯示位置設置

while(*s)

{ qh=*(s)-0xa0; //漢字區位碼

wh=*(s+1)-0xa0;

offset=(94*(qh-1)+(wh-1))*32L; //計算該漢字在字型檔中偏移量

fseek(fp,offset,SEEK_SET);

fread(buffer,32,1,fp); //取出漢字32位元組的點陣字模存入buffer中(一個漢字)

for (i=0;i〈16;i++) //將32位位元組的點陣按位在屏幕上列印出來(1:列印,0:不列印),顯示漢字

for(n=0;n〈ROW;n++)

for(j=0;j〈2;j++)

for(k=0;k〈8;k++)

for(m=0;m〈COL;m++)

if (((buffer[i*2+j]〉〉(7-k))&0x1)!=NULL)

putpixel(x+8*j*COL+k*COL+m,y+i*ROW+n,GREEN);

s+=2; //因為一個漢字內碼佔用兩個位元組,所以s必須加2

x+=30;

}

getch();

closegraph();

}

上述程序在Turbo C 2.0編譯系統下運行成功,它可以將漢字放大顯示,讀者可以將它改成函數用在您的程序中顯示漢字。

『貳』 顯示或列印漢字時,系統使用的是漢字的什麼

顯示或列印漢字時,系統使用的是漢字的字形碼。

在需要輸出一個漢字時,首先要根據該漢字的機內碼找出其字模信息在漢字型檔中的位置,然後取出該漢字的字模信息在屏幕上顯示或列印出來。

漢字通常是以點陣形式形成字形,因此要對漢字進行點陣式的編碼。



(2)顯示漢字時系統需要漢字編譯嘛擴展閱讀

漢字字型碼通常有兩種表示方式:點陣和矢量表示方法。

用點陣表示字型時,漢字字型碼是這個漢字字型點陣的代碼。根據輸出漢字的要求不同,點陣的多少也不同。簡易型漢字為16*16點陣,提高型漢字為24*24點陣,32*32點陣,48*48點陣等等。

點陣規模愈大,字型愈清晰美觀,所佔存儲空間也愈大。

矢量表示方式存儲的是描述漢字字型的輪廓特徵,當要輸出漢字時,通過計算機的計算,由漢字字型描述生成所需大小和形狀的漢字點陣。矢量化字型描述與最終文字顯示的大小,解析度無關,因此可以產生高質量的漢字輸出。

『叄』 漢字在計算機中輸入、存儲並被顯示這一過程的基本原理

漢字輸入首先的前提是當前的操作系統必須支持中文系統。
當你輸入漢字,實際你輸入的是漢字編碼,編碼原則由你所用的輸入法決定,當編碼輸入後由系統在對應的漢字碼表文件中搜索並顯示由該編碼所對應的漢字。所以說漢字的輸入實際由碼表文件所控制的,有些輸入法的碼表文件可由輸入法控制增加詞條,當你輸入碼表內不存在的片語時系統會自動記錄這個片語並將你輸入這個片語時的編碼同時記錄,這樣下次你就可以用這個編碼輸入片語了,注意這里的片語不是簡單意義的我們所用的片語,而是任意單字組合產生的新片語哪怕是根本沒有什麼聯系的單字。因此漢字的輸入關鍵在於碼表文件的建立。

『肆』 ASCII碼和漢字編譯的概念

ASCII(():美國信息交換標准代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。漢字編碼(Chinesecharacterencoding)是為漢字設計的一種便於輸入計算機的代碼。
由於電子計算機現有的輸入鍵盤與英文打字機鍵盤完全兼容。因而如何輸入非拉丁字母的文字(包括漢字)便成了多年來人們研究的課題。漢字信息處理系統一般包括編碼、輸入、存儲、編輯、輸出和傳輸。編碼是關鍵。不解決這個問題,漢字就不能進入計算機。GB2312-80是1980年制定的中國漢字編碼國家標准。共收錄7445個字元,其中漢字6763個。GB2312兼容標准ASCII碼,採用擴展ASCII碼的編碼空間進行編碼,一個漢字佔用兩個位元組,每個位元組的最高位為1。《漢字內碼擴展規范》(GBK)於1995年制定,兼容GB2312、GB13000-1、BIG5編碼中的所有漢字,使用雙位元組編碼,編碼空間為0x8140~0xFEFE,共有23940個碼位,其中GBK1區和GBK2區也是GB2312的編碼范圍。

『伍』 (操作系統) 漢字是如何顯示在電腦屏幕上的

漢字是經系統將其機內碼和字體、字型大小等二進制數據索引對應的漢字字型檔,按一定的編排方式,通過顯卡將電腦的數字信號轉換成模擬信號讓顯示器顯示出來的。
1)漢字編碼系統,就是漢字編碼系列的集合。它具有共同的編碼模式,統一的拼寫代碼,從共同的初始編碼出發,演化出一個個相互聯系、相互演化的漢字編碼系列,將這些漢字編碼系列集合起來,就組成一個漢字編碼系統。操作系統的一個重要組成部分。

2)漢字機內碼,又稱「漢字ASCII碼」,簡稱「內碼」,指計算機內部存儲,處理加工和傳輸漢字時所用的由0和1符號組成的代碼。輸入碼被接受後就由漢字操作系統的「輸入碼轉換模塊」轉換為機內碼,與所採用的鍵盤輸入法無關。機內碼是漢字最基本的編碼,不管是什麼漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被存儲和進行各種處理。
3)顯卡(Video card,Graphics card)全稱顯示介面卡,又稱顯示適配器,是計算機最基本配置、最重要的配件之一。顯卡作為電腦主機里的一個重要組成部分,是電腦進行數模信號轉換的設備,承擔輸出顯示圖形的任務。顯卡接在電腦主板上,它將電腦的數字信號轉換成模擬信號讓顯示器顯示出來,同時顯卡還是有圖像處理能力,可協助CPU工作,提高整體的運行速度。

『陸』 顯示或列印漢字時,系統使用的是漢字的什麼碼

字形碼!!!在需要輸出一個漢字時,首先要根據該漢字的機內碼找出其字模信息在漢字型檔中的位置,然後取出該漢字的字模信息在屏幕上顯示或列印出來。漢字通常是以點陣形式形成字形,因此要對漢字進行點陣式的編碼。

『柒』 顯示或列印漢字時,系統使用的是漢字的_____。

B字形碼

在需要輸出一個漢字時,首先要根據該漢字的機內碼找出其字模信息在漢字型檔中的位置,然後取出該漢字的字模信息即字形碼在屏幕上顯示或列印出來。

用點陣表示字型時,漢字字型碼指的是這個漢字字型點陣的代碼。根據輸出漢字的要求不同,點陣的多少也不同。簡易型漢字為16*16點陣,提高型漢字為24*24點陣,32*32點陣,48*48點陣等等。

(7)顯示漢字時系統需要漢字編譯嘛擴展閱讀:

即:位元組數=點陣行數×點陣列數/8

用於列印的字型檔叫列印字型檔,其中的漢字比顯示字型檔多,而且工作時也不像顯示字型檔需調入內存。

全部漢字字形碼的集合叫漢字字型檔。漢字型檔可分為軟字型檔和硬字型檔。軟字型檔以文件的形式存放在硬碟上,現多用這種方式,硬字型檔則將字型檔固化在一個單獨的存儲晶元中,再和其它必要的器件組成介面卡,插接在計算機上,通常稱為漢卡。

『捌』 漢字信息處理過程中需要使用哪些漢字編碼各自的作用是什麼

輸入碼(數字編碼,拼音編碼,字形編碼)區位碼,國標碼,機內碼,字形碼(點陣和矢量)以及其他編碼:GBK碼,BIG5碼,通用字元集和Unicode。
作用:
輸入碼:為了直接用西文標准鍵盤將漢字輸入計算機
區位碼和國標碼:計算機內部處理的信息,都是用二進制代碼表示的,漢字也不例外。而二進制代碼使用起來是不方便的,於是需要採用信息交換碼。區位碼是國標碼的另一種表現形式,把國標GB2312--80中的漢字、圖形符號組成一個94×94的方陣,分為94個「區」,每區包含94個「位」,其中「區」的序號由01至94,「位」的序號也是從01至94。94個區中位置總數=94×94=8836個,其中7445個漢字和圖形字元中的每一個佔一個位置後,還剩下1391個空位,這1391個位置空下來保留備用。
機內碼:計算機內部加工處理漢字所用的編碼,無論什麼輸入法輸入的漢字,在存入存儲器時都將其轉化為統一的機內碼。
字形碼:用於在顯示器或列印機上輸出各種字體,字型大小的文字和符號。

『玖』 計算機里的每一個文字是不是都有對應的二進制而我在Word文檔每輸入一個文字,是不是會經過系統編譯

文字在電腦中有三個碼,系統編輯的過程中是沒有編譯的。編譯是將程序代碼進行翻譯為二進制,高級程序語言設計的程序要運行的時候才需要編譯。

1、外碼也叫輸入碼,是用來將漢字輸入到計算機中的一組鍵盤符號。英文字母只有26個,可以把所有的字元都放到鍵盤上,而使用這種辦法把所有的漢字都放到鍵盤上,是不可能的。所以漢字系統需要有自己的輸入碼體系,使漢字與鍵盤能建立對應關系。目前常用的輸入碼有拼音碼、五筆字型碼、自然碼、表形碼、認知碼、區位碼和電報碼等,一種好的編碼應有編碼規則簡單、易學好記、操作方便、重碼率低、輸入速度快等優點,每個人可根據自己的需要進行選擇。在後面的章節中,重點介紹智能全拼輸入法和五筆字型輸入法。
2、機內碼 根據國標碼的規定,每一個漢字都有了確定的二進制代碼。
3、字形碼是漢字的輸出碼,輸出漢字時都採用圖形方式,無論漢字的筆畫多少,每個漢字都可以寫在同樣大小的方塊中。為了能准確地表達漢字的字形,對於每一個漢字都有相應的字形碼,目前大多數漢字系統中都是以點陣的方式來存儲和輸出漢字的字形。所謂點陣就是將字元(包括漢字圖形)看成一個矩形框內一些橫豎排列的點的集合,有筆畫的位置用黑點表示,沒筆畫的位置用白點表示。在計算機中用一組二進制數表示點陣,用0表示白點,用1表示黑點。一般的漢字系統中漢字字形點陣有16×16、24×24、48×48幾種,點陣越大對每個漢字的修飾作用就越強,列印質量也就越高。通常用16×16點陣來顯示漢字,每一行上的16個點需用兩個位元組表示,一個16×16點陣的漢字字形碼需要2×16=32個位元組表示,這32個位元組中的信息是漢字的數字化信息,即漢字字模。下面以「口」為例看看16×16點陣字形是怎樣存放的。

閱讀全文

與顯示漢字時系統需要漢字編譯嘛相關的資料

熱點內容
逆戰文件夾怎麼放 瀏覽:120
怎麼統一刪除文件夾raw文件 瀏覽:121
卡爾曼濾波演算法書籍 瀏覽:769
安卓手機怎麼用愛思助手傳文件進蘋果手機上 瀏覽:844
安卓怎麼下載60秒生存 瀏覽:803
外向式文件夾 瀏覽:240
dospdf 瀏覽:431
怎麼修改騰訊雲伺服器ip 瀏覽:392
pdftoeps 瀏覽:496
為什麼鴻蒙那麼像安卓 瀏覽:736
安卓手機怎麼拍自媒體視頻 瀏覽:186
單片機各個中斷的初始化 瀏覽:724
python怎麼集合元素 瀏覽:481
python逐條解讀 瀏覽:833
基於單片機的濕度控制 瀏覽:499
ios如何使用安卓的帳號 瀏覽:883
程序員公園采訪 瀏覽:812
程序員實戰教程要多長時間 瀏覽:979
企業數據加密技巧 瀏覽:135
租雲伺服器開發 瀏覽:814