中文编码是两个字节表示一个汉字。先请看下面 的对照表:
| 0 1 2 3 4 5 6 7 8 9 --|------------------------------ 0| ! " # $ % & ' ( ) 1| * + , - . / 0 1 2 3 2| 4 5 6 7 8 9 : ; < = 3| > ? @ A B C D E F G 4| H I J K L M N O P Q 5| R S T U V W X Y Z [ 6| \ ] ^ _ ` a b c d e 7| f g h i j k l m n o 8| p q r s t u v w x y 9| z { | } ~
这里有94个英文符号, 都是可打印的ASCII字符。 请注意字符与数字的对应关系, 如1是'!', 33 是'A', 58是'Z', 90是'z', 等等。数字就是区 位码, 字符就是汉字码。上表中字符的次序是与 ASCII码相同的, 其数字相当于ASCII码减去32 (学过C语言的, 应知道我在说什么:-))。
每个中文的编码是由两个字节组成的, 对汉字码 来说, 即由上表中的两个字符所组成。第一个字 符的数字叫“区”, 第二个字符的数字叫“位”, 这两个数字合起来叫该汉字的区位码。例如: “鸦”这个字的汉字码是'Q;', 'Q'的数字是49, ';'的数字是27, 因此该字的区位码4927。注意: 区位码都是四位数, 头两位数是“区”, 后两位 数是“位”, 不足的要补零。例如: “。”的汉 字码是'!#', 其区位码就是0103。
中文国标字库是按区排放的。第1区是标点符号; 第2区是各种数字; 第3区是英文字符, 与上表差 不多(这就是为什么大部分英文字符的汉字码可用 '#'加相应的英文字符来表示, 因为第3区的汉字 码便是'#'); 第4区是日文平假名; 第5区是日文 片假名; 第6区是希腊字母; 第7区是饿文字母; 第8区是新旧汉语拼音; 第9区是制表符号。第10 至15区没有东西。第16至87区是真正的汉字, 其 中第16至55区是按拼音排放的, 第56至至87区是 按偏旁部首排放的。每一区中的汉字的区位码的 第一个数字是相同的, 即它的区号; 其汉字码的 第一个字符也是相同的, 即它的区号按上表所对 应的字符。(真是罗嗦, 就此打住!)
这样您可以写一段小程序将国标中的所有东西都 弄出来, 给出对应的区位码或汉字码。(我手头 就有这样一份东西, 以便随时使用) 比如要看 第56区的全部汉字, 只要将'X'(对应数字56)与 上表中的字符一一配对(中间不留空格), 每行头 上加上'~{', 就成了汉字码文件, 您就可以用中 文显示软件看它了。(对汉字码文件, 空格要用 '!!'表示, 否则就坏了。)
至于国标码, 只需要将上述汉字码的每个字符的 第8bit置1(或将字符的ASCII码加上128, 又是C 语言:-()就行了。对国标码, 不需要'~{', 空格 随便用。