设为首页收藏本站官方微博

【汉化资料】汉字字模原理

[复制链接]
查看: 1328|回复: 0
打印 上一主题 下一主题

【汉化资料】汉字字模原理

跳转到指定楼层
楼主
发表于 2009-5-20 11:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

【汉化资料】汉字字模原理

1.ASCII字符--美国信息交换标准码 (0-127),每个字符用7位二进制数表示,字节首位为0.因此,小于80H(128)的均为ASCII符。英文26个字符用一个字节的7位二进制数足以表示。: |7 s9 x# d" L$ p4 p# |
    2.以gb2312为例,中文汉字共有约七千字,不能用一个字节表示全部的汉字,因此用两个字节来表示一个汉字,为避免与英文字符有重码,每个字节的最高位置1,作为标志位。+ K2 z9 i& ^, V6 @
    3.ASCII分为常用字符(可供打印的字符)与非常用字符(回车、EOF等),常用字符从33(0x21H)号到126(0x7EH)号,共94个字符,汉字就在此范围内编码,因此,中国标准编码的编码范围 :0x21H~0x7EH.两个字节可表示的汉字数为:94×94=8836.
5 `: Z5 o6 L& B/ `/ Z5 ^* G; g/ q
    以上所述编码即国际码
) `3 W0 C( B# L' M7 p& v+ E" f6 I' k
1 C( k! f' H9 |) y    4.由于每个字节的第一个位被置 1, 所以要在原编码(国际码)之上加 0x80H(10000000). 所以汉字的编码范围为 :0xA1H~0xFEH,在PC机中表现为机内码.' y( k, z# I, ]5 W, L4 m0 n7 m
    5.区位码
6 q7 Q* M: q' z# a3 L* Q- W7 I    在PC机中,汉字是以机内码形式存储的,每个汉字用两个字节表示,第一个字节用于表示区码,从0xA1H开始为第一区;第二字节用于表示位码,从0xA1H开始为第一位。
0 ^7 E1 q% R" C% L2 j! H& ]    我们平时所说的汉字区位码,一般用十进制表示,共分94个区,每区94个汉字(位):# L% T# K/ U8 \+ p& Q- `5 k8 p
6 V1 I3 g' I' E; S5 b
    01-09区        特殊字符区+ _4 S0 s6 o- U. S
    10-55区        一级汉字区* m0 P0 v% S) M: v; ]+ X" _
    56-87区        二级汉字区: a, Z, C6 @* o
   
" _8 g  W/ M. T  h7 w) f5 Y) U  }    在汉字字库中:
$ I( w8 P8 P- d" H  w8 g* I, C0 M
    区码=机内码第一字节-0xA0H
" O4 t& m# d& i    位码=机内码第二字节-0xA0H/ u( X8 [) q4 N7 I$ J
$ [" E/ C8 H& `! J9 U
    6.国际码 区位码 机内码 之间的关系:9 J& M- {; I. H! ?  w

/ t2 t- q4 j+ @+ ^: ^0 ?    机内码=国际码+8080H
: @; n, J" P6 c1 Y" T4 G
! H  P' ~  }% [- C    区位码=机内码-0xA0H
: L  V& e) }8 ?4 t2 ^% W2 k9 \0 u& ?+ v' I' S
    国际码=区位码+2020H2 c  \/ p0 G. e% f+ }6 m
, K" A9 Q* f4 ^/ n( r) r" I& @
    如:“陈”的汉字区位码:1934(16进制为 1322H)1 L6 d0 \) B* K+ i9 X
    在Linux下,用文本编辑器输入"陈",保存为test
# P# }& O& C2 l/ M    od -h test
  s1 m% U$ O9 r    显示为:* ^1 {/ H" z2 l
    0000000 c2b3 000a2 d) ^, r0 v& b
    0000003
# W6 u# O* }, N2 N5 ?" @    + Q( g7 D/ P8 S- ^) V. @
    区码=b3-a0=13. I( v4 s+ ?4 i, |' \0 ^
    位码=c2-a0=22
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 很美好很美好 很差劲很差劲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

冒险解谜游戏中文网 ChinaAVG

官方微博官方微信号小黑屋 微信玩家群  

(C) ChinaAVG 2004 - 2019 All Right Reserved. Powered by Discuz! X3.2
辽ICP备11008827号 | 桂公网安备 45010702000051号

冒险,与你同在。 冒险解谜游戏中文网ChinaAVG诞生于2004年9月9日,是全球华人共同的冒险解谜类游戏家园。我们致力于提供各类冒险游戏资讯供大家学习交流。本站所有资源均不用于商业用途。

快速回复 返回顶部 返回列表