其实也不复杂……给你讲讲思路吧……既然要查表,首先当然要得到简繁体的对照表了,你先搞清楚GB2312的编码规范,就可以自己生成一个包含所有GB2312简体汉字的TXT文件,然后找个比较权威的简繁体软件转换一下,就得到对应的BIG5编码的TXT文件了……然后就是写自己的转换方法了,我是这样作的,先读源文件,然后一个字符一个字符的判断,如果是中文字符,就先在简体文件中找到他的位置,然后再在繁体文件中取相应位置的字符,输出即可……不管简体转繁体还是繁体转简体原理都是一样的……以上只是大概的思路,具体写的过程中还有许多地方要考虑,这就得你自己想了,只有自己多思考,才会不断进步……

解决方案 »

  1.   

    to ender:
    你的思路很好,但有个问题:
    1."生成一个包含所有GB2312简体汉字的TXT文件"中"包含所有GB2312简体汉字"是不是很麻烦?
    2.会不会很大,如果在服务端还好,但在客户端程序会不会太大.
    3."较权威的简繁体软件转换一下",在更新程序是会不会有问题?
      

  2.   

    TO:Brainy(晓晓)
    1、生成这个文件很容易的,因为GB2312的编码是有规律的,高位和低位都是0xa1到0xfe,循环一下就搞定了……
    2、简体文件也就10多K,加上繁体的也才30多K,不知道算不算大,因为这要看你的具体应用了……
    3、其实这个对照表到处都能找到的,不过自己来生成可以更放心,也有助于对程序的理解……
      

  3.   

    to ender,
    你的方法是可行的,并且很好,我相信你在Java中也实现了.请问用方法B或C实现是否可行????
    另外现在简体字比繁体字少(大约有六千),这样参生的文件将可能不只10K或30K,有可能在转换后虽难没有?号,但会出现词不达意,对吧???
      

  4.   

    TO:Brainy(晓晓)
    方法B和C我认为不可行……所以我说要找一个权威一点的转换软件嘛……你应该保证转换后的繁体文件和简体文件字节数相同才行……其实这种简繁体转换是比较简单的,如果要作一个成功的简繁转换软件,还有很多方面需要考虑的,比如有的简体字对应多个简体字,有的习惯用语也需要转换……这样作就复杂多了,需要一个很大的词库才行……“词不达意”是不可避免的,只能尽量减少而已……举一个很简单的例子“小王带头发了邮件”,这里的“发”字就会有问题,繁体里面发邮件的“发”和头发的“发”是两个字,但在这种情况下,靠程序是很难判断该用哪个“发”的,所以结果很可能就出现“小王带头发,了邮件”这种情况……
      

  5.   

    对,的确有你说的情况出现。
    所以我一直都觉得用对照表是准却繁琐的。我想在方法B是可实现的,例如现在IE5中各码间的转换。
    只要各客户端都支持某一编码(如iso_8859-1),这样在Java中实现应该是很方便转换的。