Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2149367
  • 博文数量: 361
  • 博客积分: 10828
  • 博客等级: 上将
  • 技术积分: 4161
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-20 14:34
文章分类

全部博文(361)

文章存档

2011年(132)

2010年(229)

分类: C/C++

2010-04-06 09:51:54

1980年,为了使每一个汉字有一个全国统一的代码,我国颁布了第一个汉字编码 的国家标准: GB2312-80《信息交换用汉字编码字符集》基本集,这个字符集是我国中文信息处理技术的发展基础,也是目前国内所有汉字系统的统一标准。
  国标码是一个四位十六进制数,区位码是一个四位的十进制数,每个国标码或区位码都对应着一个唯一的汉字或符号,但因为十六进制数我们很少用到,所以大家常用的是区位码,它的前两位叫做区码,后两位叫做位码。
  通常,在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
 
 
 
==================================================================================
 
区位码、国标码与机内码的转换方法:

(1)区位码先转换成十六进制数表示
(2)(区位码的十六进制表示)+2020H=国标码;(两位两位相加)
(3)国标码+8080H=机内码 (两位两位相加)
举例:以汉字“大”为例,“大”字的区内码为2083

解:1、区号为20,位号为83

2、将区位号20 83转换为十六进制表示为14 53H

3、14 53H+20 20H=3473H,得到国标码34 73H

4、3473H+8080H=B4F3H,得到机内码为B4F3H
三、小结:
字符编码的两种表示方式:ASCII(字符的表示);GB2312(国标码,汉字编码)
阅读(1335) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~