漢字機內碼,又稱「漢字ascii碼」,簡稱「內碼」,指計算機內部儲存,處理加工和傳輸漢字時所用的由0和1符號組成的**。輸入碼被接受後就由漢字作業系統的「輸入碼轉換模組」轉換為機內碼,與所採用的鍵盤輸入法無關。機內碼是漢字最基本的編碼,不管是什麼漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被儲存和進行各種處理。
漢字在計算機內部其內碼是唯一的。因為漢字處理系統要保證中西文的相容,當系統中同時存在ascii碼和漢字國標碼時,將會產生二義性。例如:有兩個位元組的內容為30h和21h,它既可表示漢字「啊」的國標碼,又可表示西文「0」和「!」的ascii碼。為此,漢字機內碼應對國標碼加以適當處理和變換。
gb碼的機內碼為二位元組長的**,它是在相應gb碼的每個位元組最高位上加「1」,即
漢字機內碼=漢字國標碼+8080h
例如,上述「啊」字的國標碼是3021h,其漢字機內碼則是b0a1h。
漢字機內碼的基礎是漢字國標碼。
機內碼:為了避免ascii碼和國標碼同時使用時產生二義性問題,大部分漢字系統都採用將國標碼每個位元組高位置1作為漢字機內碼。這樣既解決了漢字機內碼與西文機內碼之間的二義性,又使漢字機內碼與國標碼具有極簡單的對應關係。
漢字機內碼、國標碼和區位碼三者之間的關係為:區位碼(十進位制)的兩個位元組分別轉換為十六進製制後加20h得到對應的國標碼;機內碼是漢字交換碼(國標碼)兩個位元組的最高位分別加1,即漢字交換碼(國標碼)的兩個位元組分別加80h得到對應的機內碼;區位碼(十進位制)的兩個位元組分別轉換為十六進製制後加a0h得到對應的機內碼。
舉例:機內碼位bedf,求區位碼?
有兩種解法:1.bedfh-a0a0h=1e3fh=3063d;
2.bedfh-8080h=3e5fh(國標碼),3e5fh-2020h=1e3fh=3063d.
北大青鳥漢字注釋機內碼 漢字與機內碼相互轉換程式
漢字與機內碼相互轉換程式 羅可 期刊名稱 智慧型計算機與應用 年卷 期 1991 000 004 總頁數 頁 p42 43 漢字程式 機內碼轉換程式 作者 羅可 作者單位 無 正文語種 中文 中圖分類 工業技術年月 也 內學習第 期漢字與機內碼相互轉換程式 長沙水利電力師範學 院計算中心 41007...
漢字機內碼 HDUOJ 2030
漢字在計算機裡表示為漢字機內碼,每個漢字由2個位元組表示,每個位元組的最高位都是1,也就是說如果轉成int的話,這2個位元組都是負數,由此我們可以判斷漢字在字串中所在的位置,或者統計乙個字串中漢字的個數。具體關於機內碼的講解見 include include include define pi 3....
機內碼 國際碼 區位碼換算
機內碼 國際碼是十六進製制的,區位碼是十進位制的。一般換算全部用十六進製制,不過特別注意 區位碼從十進位制轉換為十六進製制是兩位兩位分別轉換的。國際碼 區位碼 十六進製制 2020h 機內碼 國際碼 8080h 如 某漢字的區位碼是2534。則25d 19h,34d 22h 國際碼 1922h 20...