區位碼、國標碼、機內碼


一、區位碼

       1980年,為了使每一個漢字有一個全國統一的代碼,我國頒布了第一個漢字編碼 國家標准 GB2312-80《信息交換用漢字編碼字符集》基本集,這個字符集是我國中文信息處理技術的發展基礎,也是目前國內所有漢字系統的統一標准。
國標碼是一個四位十六進制數,區位碼是一個四位的十進制數,每個國標碼或區位碼都對應着一個唯一的漢字或符號,但因為十六進制數我們很少用到,所以大家常用的是區位碼,它的前兩位叫做區碼,后兩位叫做位碼。
    漢字庫分布情況如下:
      
 一級漢字  16-55
      
 二級漢字  56-87
      
 三級漢字  1-9
      
 空閑未用  10-15
  通常,在DOS下的各漢字系統中,同時按Alt鍵和F1鍵即可調用區位碼輸入方法。而在Windows中常用Ctrl+空格鍵和Ctrl+Shift鍵調出區位碼。如“2901”代表字,“4582”代表字,“8150”代表字,這些都是漢字,用區位碼還可以很輕松地輸入特殊符號,比如,“0189”代表”(符號)“0528”代表”(日本語),“0711”代表“Й”(俄文)“0949”代表”(制表符)
  在區位碼中,01-09區為特殊字符,10-55區為一級漢字(3755個最常用的漢字,按拼音字母的次序排列)56-87區為二級漢字(3008個漢字,按部首次序排列) 在區位碼漢字輸入方法中,漢字編碼無重碼,在熟練掌握漢字的區位碼后,錄入漢字的速度是很快的,但若想記憶住全部區位碼是相當困難的,常使用於錄入特殊符號,如制表符、希臘字母等,這里簡單介紹幾個區。

區位碼 - 部分國際區位編碼

  區號:01 【各類符號】
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0100  、  · ˉ ˇ ¨   -  ‖ … ' ' " "   
0120      」『      ± × ÷    ∑ ∏ 
0140  ∩   √      ∫  ≡  ≈   ≠   
0160 ≤ ≥ ∞   ♂ ♀ ° ′ ″   ¤   ‰ § №   
0180 ○ ●    □ ■  ▲  → ← ↑ ↓  
  區號:02 【各類數字】 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
0200             
0220                     
0240                     
0260                  
0280             
  區號:03 【符號、字母】
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
0300       '(            
0320                    
0340                     
0360    _                 
0380                
  區號:06 【羅馬字母】
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
0600 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο Π Ρ Σ Τ 
0620Υ Φ Χ Ψ Ω α β γ δ ε ζ η 
0640θ ι κ λ μ ν ξ ο π ρ σ τ υ φ χ ψ ω 
0660 0680
  區號:08 【漢語拼音】 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
0800 ā á ǎ à ē é ě è ī í ǐ ì ō ó ǒ ò ū ú ǔ 
0820 ù ǖ ǘ ǚ ǜ ü ê    
0840                     
0860               
0880 
  區號:09 【制表字符】 
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 
0900 ─  │          ┌    
0920 ┐    └    ┘    ├        
0940 ┤        ┬        ┴    
0960     ┼                
0980

 

二、機外碼

機外碼 目前常用的機外碼主要有區位碼,國標碼,首尾碼,拼音碼,五筆字型等

三、國標碼

中國國家標准漢字信息交換碼

二、區位碼、國標碼、機內碼

漢字機內碼,又稱漢字ASCII,簡稱內碼,指計算機內部存儲,處理加工和傳輸漢字時所用的由01符號組成的代碼。輸入碼被接受后就由漢字操作系統輸入碼轉換模塊轉換為機內碼,與所采用的鍵盤輸入法無關。機內碼是漢字最基本的編碼,不管是什么漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被存儲和進行各種處理。

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

GB碼的機內碼為二字節長的代碼,它是在相應GB碼的每個字節最高位上加“1”,即

  漢字機內碼=漢字國標碼+8080H

  例如,上述字的國標碼是3021H,其漢字機內碼則是B0A1H

  漢字機內碼的基礎是漢字國標碼

  機內碼:為了避免ASCII碼和國標碼同時使用時產生二義性問題,大部分漢字系統都采用將國標碼每個字節高位置1作為漢字機內碼。這樣既解決了漢字機內碼與西文機內碼之間的二義性,又使漢字機內碼與國標碼具有極簡單的對應關系。

漢字機內碼、國標碼和區位碼三者之間的關系為:區位碼(十進制)的兩個字節分別轉換為十六進制后加20H得到對應的國標碼;機內碼是漢字交換碼(國標碼)兩個字節的最高位分別加1,即漢字交換碼(國標碼)的兩個字節分別加80H得到對應的機內碼;區位碼(十進制)的兩個字節分別轉換為十六進制后加A0H得到對應的機內碼。

  舉例:機內碼位BEDF,求區位碼?

  有兩種解法:1.BEDFH-A0A0H=1E3FH=7743D

2.BEDFH-8080H=3E5FH(國標碼),3E5FH-2020H=1E3FH=7743D


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM