最近公司要求我们做一个调用Google、Yahoo全文翻译的工具,在园子搜索了一下,找到了一篇(不大记得了,好像是VB写的),看了他的做法以后,做了一点点改进,发出来给需要的朋友看看,有什么不对的地方请大家扶正!


抓取 在线翻译(Google、Yahoo)using System;
抓取 在线翻译(Google、Yahoo)
using System.Collections.Generic;
抓取 在线翻译(Google、Yahoo)
using System.Text;
抓取 在线翻译(Google、Yahoo)
using System.Net;
抓取 在线翻译(Google、Yahoo)
using System.IO;
抓取 在线翻译(Google、Yahoo)
using System.Threading;
抓取 在线翻译(Google、Yahoo)
抓取 在线翻译(Google、Yahoo)
namespace Transn
}
加载翻译方向
抓取 在线翻译(Google、Yahoo)   struct LanguageType

抓取 在线翻译(Google、Yahoo)  private void LoadLanguage(ComboBox comboBox)
        }


调用方法
抓取 在线翻译(Google、Yahoo)  void GoogleT(TsMachine tm, string content, string languetype)
        }



在这个请求翻译的过程中,最麻烦的是编码问题。Yahoo使用的是固定编码格式(Utf-8)、Google就很不老实了,编码格式是变化的,每次调用 StreamReader reader = new StreamReader(dataStream, Encoding.GetEncoding(Utf-8)); 进行解码的时候老是出错,后来才发现每次编码格式都在改变,如果用固定的Utf-8解码,得到的都是乱码
根据多次测试,Google的编码格式和res.CharacterSet一致(不敢保证,但是测试了很多语种都是正确的)。 虽然摆平了Google和Yahoo,但是谷词一直没能搞定

这是我编写的谷词翻译编码

抓取 在线翻译(Google、Yahoo)   public string Godict_T(string texts, string languages)
        }

结果发现这个谷词的res.CharacterSet(相应流)永远是iso-8859-1 ,这就郁闷了。 不知道这个地方如何解码,有知道的朋友请指教 !

相关文章: