lrd1861 发表于 2013-1-25 09:27:27

本帖最后由 lrd1861 于 2013-1-25 09:28 编辑

网上找的多语言转换

Gu_xl 发表于 2013-1-25 09:36:29

本帖最后由 Gu_xl 于 2013-1-25 09:36 编辑

中文与英文用ascii码一个字节表示不同,它使用两个字节来表示。事实上,在文本文件中保存
的就是每个汉字对应的两个字节编码,而显示问题由中文操作系统自动解决。汉字编码并不统一,
我们使用的是gb码,而台湾地区使用的是big5码。big5码文件中保存的是汉字相应的big5编码,
gb码文件中保存的是汉字相应的gb编码。所以转换工作的关键是有一个记录每个big5编码对应gb编
码的码表文件。gb码编码规则是这样的:每个汉字由两个字节构成,第一个字节的范围从0xa1-
0xfe,共96种。第二个字节的范围分别为0xa1-0xfe,共96种。利用这两个字节共可定义出 96 * 96
=8836种汉字。实际共有6763个汉字。big5码编码规则是这样的:每个汉字由两个字节构成,第一个
字节的范围从0x81-0xfe,共126种。第二个字节的范围分别为0x40-0x7e,0xa1-0xfe,共157种。
也就是说,利用这两个字节共可定义出 126 * 157=19782种汉字。这些汉字的一部分是我们常用到的,
如一、丁,这些字我们称为常用字,其big5码的范围为0xa440-0xc671,共5401个。较不常用的字,
如滥、调,我们称为次常用字,范围为 0xc940-0xf9fe,共7652个,剩下的便是一些特殊字符。
制作码表文件的原理是这样的:首先将所有的gb编码写入一个文件,然后,使用具有gb码到big5码转换
功能的软件,将文件转换为big5码文件,即得到码表文件。

;;生成简体汉字文件
(defun c:gbc1 (/ result tmp i j)
(setq f (open "d:\\gbc.txt" "w")
i 160 j 160)
(while (< i 248)
    (setq i (1+ i) j 160 tmp nil)
    (while (< j 255)
      (setq j (1+ j))
      (WRITE-LINE (VL-LIST->STRING (list i j)) f)
      (setq tmp (cons (VL-LIST->STRING (list i j)) tmp))
      )
    )
(close f)
(princ)
)

然后将生成的gbc.txt"用编码转换软件转成相应的GBK码(GBK.txt)和Big5(Big5.txt)文件,这三个文件中的编码是一一对应的,有了这三个文件,就很容易进行不同编码加减字体转换了!


highflybir 发表于 2013-1-25 09:55:52

Gu_xl 发表于 2013-1-25 09:36 static/image/common/back.gif
中文与英文用ascii码一个字节表示不同,它使用两个字节来表示。事实上,在文本文件中保存
的就是每个汉字对 ...

很好的思路。
不过为了使得检索更快,我这里只是把有繁体字的简体字列举出来。
如果要把整个汉字都列表出来的话,恐怕速度会受影响。

dwg001 发表于 2013-1-25 10:02:07

学习繁体字又多了一种工具,飞鸟好样的。

429014673 发表于 2013-1-25 12:07:38

本帖最后由 429014673 于 2013-1-25 12:08 编辑

厉害呀               

429014673 发表于 2013-1-25 12:09:47

块文字不行

郭会召 发表于 2013-1-25 12:28:39

谢谢分享   

fire9527 发表于 2013-1-25 12:46:01

惊叹楼主知识之渊博!乐于奉献精神让人感动!

ll_j 发表于 2013-1-25 13:15:48

Gu_xl 发表于 2013-1-25 09:36 static/image/common/back.gif
中文与英文用ascii码一个字节表示不同,它使用两个字节来表示。事实上,在文本文件中保存
的就是每个汉字对 ...

你所说的这是代码的规则,是进行代码页转换的方法,但并不适用于简繁转换,汉字在GBK中的代码和GB中的代码是相同的,和GB5不同,但相同的汉字有一个共同的Uni码(并不一一对应),这是代码页转换的根本,也就是说,在大陆使用的GBK码中,也有繁体字,这个繁体字和对应的简体字并不具有相同的Uni码,因此,简单地使用代码页转换的方法并不能转换简繁。
以前就看过简繁转换的检索表,没有找到规律,似乎转换简繁的方法也只能是根据检索表来检索,而检索表的定制就不知怎样过程了。
我这里有以前用过的一个对应文件,是汉字三个代码页对应的关系,不过似乎和简繁转换没有什么关系。

Atsai 发表于 2013-1-25 13:26:32

下載使用,讚一個!
页: 1 [2] 3 4 5 6 7 8
查看完整版本: 【飞鸟集】简繁转化(更新至2013.4.21)