当前位置: 技术问答>java相关
在实现简体中文转繁体中文,繁体中文转简体中文时,JAVA得如何实现???
来源: 互联网 发布时间:2015-01-26
本文导语: A.是不是一定得要对照表??? B.先用Unicode保存,再根据系统环境不同而用不同的转换方法??? C.还是直接转换??? 请指点.............. | TO:Brainy(晓晓) 方法B和C我认为不可行…… 所以我说要找一个权...
A.是不是一定得要对照表???
B.先用Unicode保存,再根据系统环境不同而用不同的转换方法???
C.还是直接转换???
请指点..............
B.先用Unicode保存,再根据系统环境不同而用不同的转换方法???
C.还是直接转换???
请指点..............
|
TO:Brainy(晓晓)
方法B和C我认为不可行……
所以我说要找一个权威一点的转换软件嘛……你应该保证转换后的繁体文件和简体文件字节数相同才行……
其实这种简繁体转换是比较简单的,如果要作一个成功的简繁转换软件,还有很多方面需要考虑的,比如有的简体字对应多个简体字,有的习惯用语也需要转换……这样作就复杂多了,需要一个很大的词库才行……
“词不达意”是不可避免的,只能尽量减少而已……
举一个很简单的例子“小王带头发了邮件”,这里的“发”字就会有问题,繁体里面发邮件的“发”和头发的“发”是两个字,但在这种情况下,靠程序是很难判断该用哪个“发”的,所以结果很可能就出现“小王带头发,了邮件”这种情况……
方法B和C我认为不可行……
所以我说要找一个权威一点的转换软件嘛……你应该保证转换后的繁体文件和简体文件字节数相同才行……
其实这种简繁体转换是比较简单的,如果要作一个成功的简繁转换软件,还有很多方面需要考虑的,比如有的简体字对应多个简体字,有的习惯用语也需要转换……这样作就复杂多了,需要一个很大的词库才行……
“词不达意”是不可避免的,只能尽量减少而已……
举一个很简单的例子“小王带头发了邮件”,这里的“发”字就会有问题,繁体里面发邮件的“发”和头发的“发”是两个字,但在这种情况下,靠程序是很难判断该用哪个“发”的,所以结果很可能就出现“小王带头发,了邮件”这种情况……
|
TO:Brainy(晓晓)
1、生成这个文件很容易的,因为GB2312的编码是有规律的,高位和低位都是0xa1到0xfe,循环一下就搞定了……
2、简体文件也就10多K,加上繁体的也才30多K,不知道算不算大,因为这要看你的具体应用了……
3、其实这个对照表到处都能找到的,不过自己来生成可以更放心,也有助于对程序的理解……
1、生成这个文件很容易的,因为GB2312的编码是有规律的,高位和低位都是0xa1到0xfe,循环一下就搞定了……
2、简体文件也就10多K,加上繁体的也才30多K,不知道算不算大,因为这要看你的具体应用了……
3、其实这个对照表到处都能找到的,不过自己来生成可以更放心,也有助于对程序的理解……
|
其实也不复杂……给你讲讲思路吧……
既然要查表,首先当然要得到简繁体的对照表了,你先搞清楚GB2312的编码规范,就可以自己生成一个包含所有GB2312简体汉字的TXT文件,然后找个比较权威的简繁体软件转换一下,就得到对应的BIG5编码的TXT文件了……
然后就是写自己的转换方法了,我是这样作的,先读源文件,然后一个字符一个字符的判断,如果是中文字符,就先在简体文件中找到他的位置,然后再在繁体文件中取相应位置的字符,输出即可……不管简体转繁体还是繁体转简体原理都是一样的……
以上只是大概的思路,具体写的过程中还有许多地方要考虑,这就得你自己想了,只有自己多思考,才会不断进步……
既然要查表,首先当然要得到简繁体的对照表了,你先搞清楚GB2312的编码规范,就可以自己生成一个包含所有GB2312简体汉字的TXT文件,然后找个比较权威的简繁体软件转换一下,就得到对应的BIG5编码的TXT文件了……
然后就是写自己的转换方法了,我是这样作的,先读源文件,然后一个字符一个字符的判断,如果是中文字符,就先在简体文件中找到他的位置,然后再在繁体文件中取相应位置的字符,输出即可……不管简体转繁体还是繁体转简体原理都是一样的……
以上只是大概的思路,具体写的过程中还有许多地方要考虑,这就得你自己想了,只有自己多思考,才会不断进步……
|
我想其它软件也应该是这样子的。
你需要一个对照表。
这其实并不会很大的。
总共才多少个汉字啊?
* 2 也不过只有那么多而已。
而且也不用你手工建这个表的,网上应该有现成的这种表。
你需要一个对照表。
这其实并不会很大的。
总共才多少个汉字啊?
* 2 也不过只有那么多而已。
而且也不用你手工建这个表的,网上应该有现成的这种表。
|
:)
目前只有用对照表……
其实用对照表也不复杂啊,转换速度也挺快的……
目前只有用对照表……
其实用对照表也不复杂啊,转换速度也挺快的……
|
我有繁体转简体,但没有简体转繁体。是用对照表的。但不能共享。
|
up
|
我写的程序转换速度大概在5毫秒1K左右吧,应该还算比较快的……
不过进一步优化应该还能更快……
不过进一步优化应该还能更快……
|
B方法不行的,不然我也不用想这么多办法来查表了……
:)
:)