明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: highflybir

[【高飞鸟】] 【飞鸟集】简繁转化(更新至2013.4.21)

    [复制链接]
发表于 2013-1-25 09:27 | 显示全部楼层
本帖最后由 lrd1861 于 2013-1-25 09:28 编辑

网上找的  多语言转换

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-1-25 09:36 | 显示全部楼层
本帖最后由 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码文件,即得到码表文件。
  1. ;;生成简体汉字文件
  2. (defun c:gbc1 (/ result tmp i j)
  3.   (setq f (open "d:\\gbc.txt" "w")
  4. i 160 j 160)
  5.   (while (< i 248)
  6.     (setq i (1+ i) j 160 tmp nil)
  7.     (while (< j 255)
  8.       (setq j (1+ j))
  9.       (WRITE-LINE (VL-LIST->STRING (list i j)) f)
  10.       (setq tmp (cons (VL-LIST->STRING (list i j)) tmp))
  11.       )
  12.     )
  13.   (close f)
  14.   (princ)
  15.   )

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +3 金钱 +30 收起 理由
highflybir + 3 + 30 赞一个!

查看全部评分

 楼主| 发表于 2013-1-25 09:55 | 显示全部楼层
Gu_xl 发表于 2013-1-25 09:36
中文与英文用ascii码一个字节表示不同,它使用两个字节来表示。事实上,在文本文件中保存
的就是每个汉字对 ...

很好的思路。
不过为了使得检索更快,我这里只是把有繁体字的简体字列举出来。
如果要把整个汉字都列表出来的话,恐怕速度会受影响。
发表于 2013-1-25 10:02 | 显示全部楼层
学习繁体字又多了一种工具,飞鸟好样的。
发表于 2013-1-25 12:07 | 显示全部楼层
本帖最后由 429014673 于 2013-1-25 12:08 编辑

厉害呀               
发表于 2013-1-25 12:09 | 显示全部楼层
块文字不行
发表于 2013-1-25 12:28 | 显示全部楼层
  谢谢分享   
发表于 2013-1-25 12:46 | 显示全部楼层
惊叹楼主知识之渊博!乐于奉献精神让人感动!
发表于 2013-1-25 13:15 | 显示全部楼层
Gu_xl 发表于 2013-1-25 09:36
中文与英文用ascii码一个字节表示不同,它使用两个字节来表示。事实上,在文本文件中保存
的就是每个汉字对 ...

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2013-1-25 13:26 | 显示全部楼层
下載使用,讚一個!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-2 21:30 , Processed in 0.224983 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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