一、區位碼
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 ! " # ¥ % & '( ) * + , - . / 0 1 2 3
0320 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G
0340 H I J K L M N O P Q R S T U V W X Y Z [
0360 \ ] ^ _ ` a b c d e f g h i j k l m n o
0380 p q r s t u v w x y z { | }  ̄
區號: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碼”,簡稱“內碼”,指計算機內部存儲,處理加工和傳輸漢字時所用的由0和1符號組成的代碼。輸入碼被接受后就由漢字操作系統的“輸入碼轉換模塊”轉換為機內碼,與所采用的鍵盤輸入法無關。機內碼是漢字最基本的編碼,不管是什么漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被存儲和進行各種處理。
漢字在計算機內部其內碼是唯一的。因為漢字處理系統要保證中西文的兼容,當系統中同時存在ASCII碼和漢字國標碼時,將會產生二義性。例如:有兩個字節的內容為30H和21H,它既可表示漢字“啊”的國標碼,又可表示西文“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