发信人: skyice() 
整理人: wenbobo(2002-08-13 10:45:44), 站内信件
 | 
 
 
【 以下文字转载自 Chinese 讨论区 】 【 原文由 耙子 所发表 】 发信人: yanglc(魂归燕园~~别理我,烦着呢), 信区: Chinese        
 标 题: 汉字编码标准与识别(三) 
 发信站: BBS 水木清华站 (Sat Apr 29 20:15:44 2000) 
 
 http://www.linuxforum.net/cgi-bin/perl/showpost.pl?Board=chinese& 
 Number=768&page=2&view=expanded&sb=5 
 
 Subject 
                  汉字编码标准与识别(三)内码转换表的来源与 
                  制作 
 
 Posted by 
                  shuyong 
 Posted on 
                  4/16/2000 9:21 PM 
 
 
 汉字编码标准与识别(三) 
 
 内码转换表的来源与制作 
 
 
 由于历史和地域的原因,电脑里的中文标准有不少种共存于Internet 
 中。这是现实。因此出现了内码转换。这方面的程序现在有不少。不 
 过大多是MS Windows的版本,并且有的毛病不少,所以有必要制作一 
 个完整些的内码转换表。 
 
 资料来源 
 自从Unicode/ISO10646/GB13000标准出现后,这项工作变得简单和繁 
 琐。因此制作转换表时有一个准则:以国际和国家标准为基准,参考 
 有影响的商业公司的转换表,个人和小软件次之。下面是资料的来源: 
 一)国际和国家标准组织 
 国际标准组织Unicode(http://www.unicode.org)提供了 
 GB<=>Unicode转换表: 
 ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/GB 
 BIG5<=>Unicode转换表: 
 ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/OTHER 
 JIS<=>Unicode转换表: 
 ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS 
 KSC<=>Unicode转换表: 
 ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/KSC 
 因为GBK不是国家标准,所以Unicode并没有提供GBK<=>Unicode的转换 
 表,而只是采用了Microsoft的code page的一个版本: 
 ftp://ftp.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/ 
 WINDOWS/CP{936,950}.TXT 
 中国国家标准网入门太难,须8000元/个人。因此没有得到正式的 
 GB2312-1980和GB13000-1993的标准。 
 二)商业公司 
 2.1方正集团字体部 
 http://www.founderpku.com/fontweb/ 
 因为方正是产,学,研的综合体,在排版和字体领域奋斗多年,有很 
 特殊的地位。他们提供的转换表,几乎可以等同国家标准。 
 GB2312标准: 
 http://www.founderpku.com/fontweb/gb2312.htm 
 GBK标准: 
 http://www.founderpku.com/fontweb/gbk.htm 
 GB<=>BIG5转换表: 
 http://www.founderpku.com/fontweb/download/Gb-big5.tab 
 GBK<=>BIG5转换表: 
 http://www.founderpku.com/fontweb/download/Gbk-big5.tab 
 2.2Microsoft 
 http://www.microsoft.com/ 
 Microsoft是谁也忽略不了的。有时候就算是他们错了,最后也是对 
 的。在有些英文资料里把GBK说成是Microsoft制订的。Microsoft从 
 商业角度出发,提供的是code pages: 
 GBK字形表: 
 http://www.microsoft.com/typography/unicode/936gif.zip 
 GBK<=>Unicode转换表: 
 http://www.microsoft.com/typography/unicode/936.txt 
 BIG5字形表: 
 http://www.microsoft.com/typography/unicode/950gif.zip 
 BIG5<=>Unicode转换表: 
 http://www.microsoft.com/typography/unicode/950.txt 
 在Windows97/98中文版里也提供了些资料: 
 GBK标准:\windows\GBK.txt 
 code pages:\windows\system\cp{932,936,949,950}.nls 
 三)个人与共享软件 
 有不少个人和小团体也在这方面进行了探索。 
 3.1 TextPro http://person.zj.cninfo.net/~buddha 
 因为他们特殊的需求,TextPro确实在BIG5=>GBK/GB转换方面有独到之 
 处。同时还有个GBK(繁体)=>GB(简体)转换表,很有特色。因为繁体=> 
 简体是多对一的映射,因此很难有简体=>繁体的转换表。特别是基于字 
 到字的映射的转换是不可能的。目前已有人进行基于词典和上下文的词 
 到词的映射。有兴趣可以看 
 http://www.basistech.com/articles/c2c.html 
 3.2 Stone Chi http://stonec.yeah.net 
 提供了基于RichWin的内码转换表。收集了不少的资料,对内码标准 
 有较深的了解。同时还有一个中文检索软件值得一尝。 
 3.3 NJStar http://www.njstar.com 和 
 MagicWin http://www.magicwin.com.my 
 他们在这领域有些日子了。不过转换表不是很全。 
 
 制作 
 根据上面的准则和排列次序制作。如果上一级有空白,就要下一级填 
 补;如果有冲突,就以上一级的为准。 
 一)根据Unicode的GB<=>Unicode与BIG5<=>Unicode转换表制作GB<=>BIG5 
 转换表。 
 二)根据Microsoft的GBK<=>Unicode与BIG5<=>Unicode转换表制作 
 GBK<=>BIG5转换表。 
 至此,基于标准的转换实际已经完成。Unicode的特点就是一字一码,一 
 码一字。各个国家和地区的汉字标准已编入Unicode的,并有相同的Unicode 
 码的汉字,就是叫CJK认同汉字。但有些汉字因为种种原因而未能得到认 
 同,如果制作这些汉字的转换表,只能是基于实用的,有可能多对多映射 
 的转换表。 
 三)使用方正的GBK<=>BIG5转换表填充(一)的GB<=>BIG5转换表。 
 四)使用Microsoft的GBK<=>BIG5转换表填充(三)的GBK<=>BIG5转换表。 
 五)使用TextPro和stonec的GBK<=>BIG5转换表填充(四)的GBK<=>BIG5转 
 换表。 
 六)NJStar的转换表虽然不是很全,但在BIG5=>GBK转换表中的C6行后半 
 段和C7,C8行却相当完整。上面的转换表在这里不是空白就是很少转换。 
 可能这个区域是属于扩充符号 
 区,可有可无。为保险起见,使用NJStar填充这个区域。 
 七)校验。通过电脑对码表进行校验,发现在汉字编码方面基本一致。 
 有冲突的地方基本上是对制表符的理解不同造成的。 
 八)目测校验。也就是用肉眼一个字一个字的检查。这是最重要的一步。 
 但因为学识和精力有限,未能做到这一步。 
 
 ※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.10.32] 
  -- ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.105.97.28] -- ※ 转载:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.91.31]
  | 
 
 
 |