在实现简体中文转繁体中文,繁体中文转简体中文时,JAVA得如何实现???

Brainy 2001-08-22 03:03:33
A.是不是一定得要对照表???
B.先用Unicode保存,再根据系统环境不同而用不同的转换方法???
C.还是直接转换???

请指点..............
...全文
1088 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Brainy 2001-08-24
  • 打赏
  • 举报
回复
是不是。。。。。。

我现在要试试,多谢你的指教。。。
ender 2001-08-24
  • 打赏
  • 举报
回复
B方法不行的,不然我也不用想这么多办法来查表了……

:)
Brainy 2001-08-24
  • 打赏
  • 举报
回复
对,的确有你说的情况出现。
所以我一直都觉得用对照表是准却繁琐的。

我想在方法B是可实现的,例如现在IE5中各码间的转换。
只要各客户端都支持某一编码(如iso_8859-1),这样在Java中实现应该是很方便转换的。
ender 2001-08-24
  • 打赏
  • 举报
回复
TO:Brainy(晓晓)
方法B和C我认为不可行……

所以我说要找一个权威一点的转换软件嘛……你应该保证转换后的繁体文件和简体文件字节数相同才行……

其实这种简繁体转换是比较简单的,如果要作一个成功的简繁转换软件,还有很多方面需要考虑的,比如有的简体字对应多个简体字,有的习惯用语也需要转换……这样作就复杂多了,需要一个很大的词库才行……

“词不达意”是不可避免的,只能尽量减少而已……

举一个很简单的例子“小王带头发了邮件”,这里的“发”字就会有问题,繁体里面发邮件的“发”和头发的“发”是两个字,但在这种情况下,靠程序是很难判断该用哪个“发”的,所以结果很可能就出现“小王带头发,了邮件”这种情况……
Brainy 2001-08-24
  • 打赏
  • 举报
回复
to ender,
你的方法是可行的,并且很好,我相信你在Java中也实现了.

请问用方法B或C实现是否可行????
另外现在简体字比繁体字少(大约有六千),这样参生的文件将可能不只10K或30K,有可能在转换后虽难没有?号,但会出现词不达意,对吧???
ender 2001-08-24
  • 打赏
  • 举报
回复
TO:Brainy(晓晓)
1、生成这个文件很容易的,因为GB2312的编码是有规律的,高位和低位都是0xa1到0xfe,循环一下就搞定了……
2、简体文件也就10多K,加上繁体的也才30多K,不知道算不算大,因为这要看你的具体应用了……
3、其实这个对照表到处都能找到的,不过自己来生成可以更放心,也有助于对程序的理解……
Brainy 2001-08-24
  • 打赏
  • 举报
回复
5毫秒1K,的确很快.....
ender 2001-08-24
  • 打赏
  • 举报
回复
我写的程序转换速度大概在5毫秒1K左右吧,应该还算比较快的……

不过进一步优化应该还能更快……
kiddycoffee 2001-08-24
  • 打赏
  • 举报
回复
我想其它软件也应该是这样子的。
你需要一个对照表。

这其实并不会很大的。
总共才多少个汉字啊?
* 2 也不过只有那么多而已。

而且也不用你手工建这个表的,网上应该有现成的这种表。
Brainy 2001-08-24
  • 打赏
  • 举报
回复
to ender:
你的思路很好,但有个问题:
1."生成一个包含所有GB2312简体汉字的TXT文件"中"包含所有GB2312简体汉字"是不是很麻烦?
2.会不会很大,如果在服务端还好,但在客户端程序会不会太大.
3."较权威的简繁体软件转换一下",在更新程序是会不会有问题?
cmqpi 2001-08-24
  • 打赏
  • 举报
回复
up
ender 2001-08-24
  • 打赏
  • 举报
回复
其实也不复杂……给你讲讲思路吧……

既然要查表,首先当然要得到简繁体的对照表了,你先搞清楚GB2312的编码规范,就可以自己生成一个包含所有GB2312简体汉字的TXT文件,然后找个比较权威的简繁体软件转换一下,就得到对应的BIG5编码的TXT文件了……

然后就是写自己的转换方法了,我是这样作的,先读源文件,然后一个字符一个字符的判断,如果是中文字符,就先在简体文件中找到他的位置,然后再在繁体文件中取相应位置的字符,输出即可……不管简体转繁体还是繁体转简体原理都是一样的……

以上只是大概的思路,具体写的过程中还有许多地方要考虑,这就得你自己想了,只有自己多思考,才会不断进步……
Brainy 2001-08-24
  • 打赏
  • 举报
回复
不能共享可以理解...

速度如何?
skyyoung 2001-08-24
  • 打赏
  • 举报
回复
我有繁体转简体,但没有简体转繁体。是用对照表的。但不能共享。
Brainy 2001-08-24
  • 打赏
  • 举报
回复
能讲详细些吗?
得如何做............


我想很多朋友都想了解,谢谢.......
ender 2001-08-22
  • 打赏
  • 举报
回复
:)
目前只有用对照表……
其实用对照表也不复杂啊,转换速度也挺快的……

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧