區位碼 國標碼 機內碼的區別和內在機制

2021-06-17 15:57:34 字數 1477 閱讀 5404

一、區位碼:

為了使每乙個漢字有乙個全國統一的**,2023年,我國頒布了第乙個漢字編碼的國家標準: gb2312-80《

資訊交換用漢字編碼字符集

》基本集,這個字符集

是我國中文資訊處理

技術的發展基礎,也是目前國內所有漢字系統的統一標準。由於國標碼是四位十六進製制,為了便於交流,大家常用的是四位十進位制的區位碼。所有的國標漢字與符號組成乙個94×94的矩陣

。在此方陣中,每一行稱為乙個"區",每一列稱為乙個"位",因此,這個方陣實際上組成了乙個有94個區(區號分別為0 1到94)、每個區內有94個位(位號分別為01到94)的漢字字符集。乙個漢字所在的區號和位號簡單地組合在一起就構成了該漢字的"區位碼"。在漢字的區位碼中,高兩位為區號,低兩位為位號。 在區位碼中,01-09區為682個特殊字元,16~87區為漢字區,包含6763個漢字 。其中16-55區為一級漢字(3755個最常用的漢字,按拼音字母的次序排列),56-87區為二級漢字(3008個漢字,按部首次序排列)。

二、國標碼:

國標碼,它是由區位碼稍作轉換得到,其轉換方法為:先將十進位制區碼和位碼轉換為十六進製制

的區碼和位碼。這樣就得了乙個與國標碼有乙個相對位置差的**。再將這個**的第乙個位元組

和第二個位元組分別加上20h,就得到國標碼。

漢字國標碼的範圍用二進位制表示是:00100001(33) 00100001(33)到01111110(126) 01111110(126) (括號中為十進位制數), 7 位ascii碼是128個字元組成的字符集。其中編碼值 0到31(00000000到00011111)對應不可印刷字元,通常稱作「控制符」,用於計算機通訊中的通訊控制或對計算機裝置的功能控制。編碼值32(00100000)是空格字元sp,編碼值127(01111111)是刪除字元del。

漢字國標碼的起始二進位制位置選擇00100001(33)是為了跳過ascii碼中前32個控制字元和空格字元sp,終止二進位制位置選擇01111110(126)是為了跳過ascii碼中最後1個刪除字元del。因此,漢字國標碼的高位和低位分別比對應的區位碼大32(十進位制數)或00100000(二進位制數)或20h(十六進製制數),即: 國標碼高位 = 區碼 + 20h(h表示十六進製制),國標碼低位 = 位碼 + 20h。 

三、機內碼:

漢字在計算機內部其內碼是唯一的。因為漢字處理系統要保證中西文的相容,當系統中同時存在ascii碼和漢字國標碼時,將會產生二義性。例如:有兩個位元組的內容為30h和21h,它既可表示漢字「啊」的國標碼,又可表示西文「0」和「!」的ascii碼。為此,漢字機內碼對應國標碼加以適當處理和變換。

國標碼的機內碼為二進位製長的**,它是在相應國標碼的每個位元組最高位上加「1」,即

漢字機內碼=漢字國標碼+8080h(1000000010000000)

漢字機內碼=區位碼+a0a0h

四、常用漢字機內碼:

因為常用漢字區位碼是從16區開始的,所以其機內碼即從b0a0h開始(10h+a0h=b0h),到d7f9結束。又由於每個區的開始和結束都是空格,所以位碼不能為a0h和ffh。

簡單概述國標碼 區位碼和機內碼,以及之間的計算

西文字元編碼最常用的是 ascii 美國資訊交換標準 字元編碼,該編碼是國際上使用最廣泛的一種西文字元編碼。那麼,漢字也有自己的字元編碼,即漢字字元編碼。漢字字元編碼是 gb2312 80 資訊交換用漢字編碼字符集 基本集 即 漢字 國標碼。國標碼使用兩個位元組進行編碼,每個位元組的低 7 位是漢字...

機內碼 國際碼 區位碼換算

機內碼 國際碼是十六進製制的,區位碼是十進位制的。一般換算全部用十六進製制,不過特別注意 區位碼從十進位制轉換為十六進製制是兩位兩位分別轉換的。國際碼 區位碼 十六進製制 2020h 機內碼 國際碼 8080h 如 某漢字的區位碼是2534。則25d 19h,34d 22h 國際碼 1922h 20...

根據漢字獲得其區位碼

學生在填寫高考資訊表時,通常都需要將自己名字所對應的區位碼填寫到高考資訊表的對應方格中,那麼如何獲取漢字的區位碼呢?下面通過乙個例項進行講解。例 建立乙個控制台應用程式,使用while語句定義乙個死迴圈,以便能夠迴圈輸入資訊 在該迴圈中,首先輸入漢字,然後根據輸入的漢字獲取其區位碼並輸出到控制台中。...