今天做翻译的时候分别用百度和有道的api做了对比

首先声明一下,百度和有道的APIKEY需要自己去申请

界面:

代码:

private void btn_translation_Click(object sender, EventArgs e){//string baiduKey = "aMkc5Tcs2sGoTM56XGL1FlQc";//string bnaiduSecretKey = "Uu8669USMPROf5YsNVGW3logz19hNrV9";// string rs = BaiduTans_Get(baiduKey, this.richTxt_src.Text, "zh", "en");if(!NetworkIsCoon()){this.label2.Text="Not connection NetWork!!";return;}if (this.checkBox_isbilingual.Checked){this.richTextBox1.Text = baiduTransSrcAndDet("zh", "en");}else{this.richTextBox1.Text = baiduTrans("zh","en");}}private void btn_translation_en_zh_Click(object sender, EventArgs e){if (!NetworkIsCoon()){this.label2.Text = "Not connection NetWork!!";return;}if (this.checkBox_isbilingual.Checked){this.richTextBox1.Text = baiduTransSrcAndDet("en", "zh");}elsethis.richTextBox1.Text = baiduTrans("en", "zh");}public string baiduTrans(string Srcstr, string Tostr){string baiduKey = "百度KEY";string bnaiduSecretKey = "百度KEY";string rs = BaiduTans_Get(baiduKey, this.richTxt_src.Text, Srcstr, Tostr);return gebaidutrs(rs);}public string baiduTransSrcAndDet(string Srcstr, string Tostr){string baiduKey = "百度KEY";string bnaiduSecretKey = "百度KEY";string rs = BaiduTans_Get(baiduKey, this.richTxt_src.Text, Srcstr, Tostr);return gebaidutrsSrcAndDet(rs);}private string BaiduTans_Get(string client_id, string q, string from, string to) {string ApiUrl = @"http://openapi.baidu.com/public/2.0/bmt/translate?client_id={0}&q={1}&from={2}&to={3}";string url = string.Format(ApiUrl, client_id, q, from, to);WebClient wc = new WebClient();wc.Encoding = System.Text.Encoding.UTF8;//定义对象语言//return UnicodeConvert.ConvertUnicodeStringToChinese(wc.DownloadString(url));return wc.DownloadString(url);}public string gebaidutrs(string strjson){int langth = strjson.Length;int index3 = 38;string jsonText = strjson.Substring(index3, langth - index3 - 1);JavaScriptSerializer jser = new JavaScriptSerializer();List<baiduJson> persons = jser.Deserialize<List<baiduJson>>(jsonText);string rs = "";foreach (baiduJson item in persons){rs += item.dst + "\n";}return rs;}public string gebaidutrsSrcAndDet(string strjson){int langth = strjson.Length;int index3 = 38;string jsonText = strjson.Substring(index3, langth - index3 - 1);JavaScriptSerializer jser = new JavaScriptSerializer();List<baiduJson> persons = jser.Deserialize<List<baiduJson>>(jsonText);string rs = "";foreach (baiduJson item in persons){rs += item.dst + " [" + item.src + "] " + "\n";//rs += item.src + "\n";
            }return rs;}public class baiduJson{public string src { get; set; }public string dst { get; set; }}private void btn_youdao_Click(object sender, EventArgs e){if (!NetworkIsCoon()){this.label2.Text = "Not connection NetWork!!";return;}string youdaoApiKey = "有道KEY";string keyfrom = "O有道KEY";string srcTxt = this.richTxt_src.Text;string rs= youdaoTans_Get(keyfrom, youdaoApiKey, srcTxt);this.richTextBox1.Text = getyoudaoStrs(rs);}private string youdaoTans_Get(string keyfrom, string youdaoApiKey, string srcTxt){string ApiUrlxml = @"http://fanyi.youdao.com/openapi.do?keyfrom=" + keyfrom + "&key=" + youdaoApiKey + "&type=data&doctype=xml&version=1.1&q=" + srcTxt + "";string ApiUrljson = @"http://fanyi.youdao.com/openapi.do?keyfrom="+keyfrom+"&key="+youdaoApiKey+"&type=data&doctype=json&version=1.1&q="+srcTxt+"";string ApiUrljsonp=@"http://fanyi.youdao.com/openapi.do?keyfrom=OSMeteor&key=1102266192&type=data&doctype=jsonp&callback=show&version=1.1&q=API";WebClient wc = new WebClient();wc.Encoding = System.Text.Encoding.UTF8;//定义对象语言string rs = wc.DownloadString(ApiUrljson);//Byte[] pageData = wc.DownloadData(ApiUrljson)//    rs=System.Text.Encoding.UTF8.GetBytes(pageData)//wc.DownloadStringAsync(ApiUrljson);//return UnicodeConvert.ConvertUnicodeStringToChinese(wc.DownloadString(ApiUrlxml));return rs;//return wc.DownloadString(ApiUrljson);
        }public string gebaidutrs2(string strjson){int index = strjson.IndexOf("\",\"dst\":\"");string srcTxt = this.richTxt_src.Text;int index2 = 47 + srcTxt.Length + 9;int langth = strjson.Length;//string rs = strjson.Substring(index2, langth - index2-4);string rs = strjson.Substring(index2, langth - index2-4);return rs;//return strjson;
        }        public string getyoudaoStrs(string strjson){string srcTxt = this.richTxt_src.Text;int index2 = 17;int langth = strjson.Length - srcTxt.Length - 27;string str=",\"query\":\"";int detlength = strjson.IndexOf(str)-3;//未处理失败的状况//string rs = strjson.Substring(index2, langth - index2 - 1);string rs = strjson.Substring(index2, detlength-17);////string rs2= rs.Replace("\",\"", "\078");//string strrs3 = "";//string[] strlist = Regex.Split(rs, "\",\"", RegexOptions.IgnoreCase);//foreach (string item in strlist)//{//    strrs3 += item+"\n";//}////StringBuilder rss = new StringBuilder();//// rs.Replace//return strrs3;return rs;//return strjson;
        }public class youdaoJson {public string translation { get; set; }public string query { get; set; }public string errorCode { get; set; }}

各种API地址:包括有道、百度: http://blog.csdn.net/osmeteor/article/details/17023559

结论:

在使用百度API的时候最好不要使用自动 ,比如百度APi:在英文翻译成中文的时候自动翻译的时候会这样

所以还是别偷懒:尽量别用aoto。

但是对有道API处理的时候:这个理对中文翻译成英文的是换行没有出来很好,

我们在看看有道怎么处理换行的 ,这里是有道返回的结果

但是我用有道在线翻译的时候又是正常的,可能我不了解内部转换算法吧

希望有这方面研究的同学看到之后能给予指点。。。

也希望百度和有道提供更好的翻译API。。。

转载于:https://www.cnblogs.com/osmeteor/p/3453666.html

OSMeteorTranslationAPI(百度,有道)对比相关推荐

  1. 坚果云和百度云的对比

    坚果云和百度云的对比 百度云和坚果云的对比,百度云是目前个人网盘中的佼佼者,而坚果云在企业团队领域执牛耳,两者虽然都是网盘,但是侧重点却不一样.很多人都希望看看两者的区别,这边我们来给大家做一些对比. ...

  2. 百度AI---人脸对比(前端拍照上传后端进行对比,后端调用百度接口返回对比信息)

    百度ai人脸对比: 首先由个百度账号,进入百度开发者中心 百度开发者中心 登录后选择百度ai开发平台 进入右侧控制台后选择人脸识别: 进入后先创建一个应用,将所有不收费的都领取一下 创建完成后就能获得 ...

  3. 百度有道雅虎的实习面试经历

    百度知道的面试经历: 在水木看到的招聘信息,于是就投了下试试.然后过了几天接到电话让我去面试. 竟然不是在我所知道的上地九街的那个百度大厦...等不到公交只能打的到上地五街的百度了...(搞两个临近的 ...

  4. 2023 最新一键下载百度网盘/阿里云盘/百度文库/道客巴巴/原创力文档

    苏生不惑第415 篇原创文章,将本公众号设为星标,第一时间看最新文章. 之前分享过录制了个视频:2022年11月一键下载百度网盘/百度文库/豆丁/道客巴巴/原创力文档 ,2023年再更新下 . 爱奇艺 ...

  5. 百度云 人脸对比API 使用(nodejs)

    百度提供的web demo测试地址:http://ai.baidu.com/tech/face/compare API : https://aip.baidubce.com/rest/2.0/face ...

  6. vue2.0 唤起百度地图app_开车选高德,出门靠百度,高德百度地图APP对比

    高德和百度是在电子地图领域竞争的对手,但是,在同一领域他们的发展方向的侧重也存在差异.那么,他们究竟有什么不同呢?当然,他们的开发人员必须是不同的,肯定不用考虑.此外,在某些数据和功能上,它们也是不同 ...

  7. Android 百度人脸照片对比,百度的人脸对比支持比对同一张照片中的两张脸吗?...

    detect返回数据:Array ( [error_code] => 0 [error_msg] => SUCCESS [log_id] => 2677935491 [timesta ...

  8. 百度云人脸对比 API 调用的报错及改正 汇总

    (我不禁思考,为了数据库课设,在期末月没有复习的前提下,写这个人脸识别打卡,真的值得吗?) 前提是已经注册创建应用,即有AK,SK了,没有的话,搜一下吧,这个教程全的还挺多 问题一 Access To ...

  9. PDF复制翻译自动去掉换行(谷歌/百度/有道/DeepL)

    照葫芦画瓢,一段很蠢的代码,2022.10.23 测试通过. 直接新建油猴脚本 --> 保存 --> ok // ==UserScript== // @name PDF复制翻译自动去掉换行 ...

  10. 几行代码实现谷歌百度搜索对比

    想写一个谷歌百度搜索结果对比的工具,发现谷歌无法套用框架,于是简单写了个弹窗对比,需要的可以试试 当然你还可以添加更多搜索引擎 代码: <!DOCTYPE html> <html l ...

最新文章

  1. 【深度学习】你不知道的车牌识别系统
  2. datagrid如何获取一行数据中的某个字段值_MySQL 如何查找删除重复行?
  3. 什么是 lnmp 实现原理。
  4. 一个SAP开发人员的2018年终总结
  5. c++用new求数组中n个数的和_在C++中实现任意大小数组的定义方法
  6. Java-时间复杂度和空间复杂度
  7. WebRTC 学习之 WebRTC 简介
  8. Python数据类型解析(基础篇)
  9. Bailian2696 计算表达式的值【入门】
  10. 或许是 Nginx 上配置 HTTP2 最实在的教程了
  11. Shell脚本-tr 将大写字母变为小写
  12. 攻防世界-music-高手进阶区-miscmisc
  13. Windows Server AppFabric分布式缓存详解
  14. 天津大学计算机学院网韩瑞泽,2018天津大学计算机学院考研拟录取名单
  15. android强行打开软键盘,隐藏Android软键盘(如果已打开)
  16. golang和经济学相关资料学习,还不错,果然B站是个学习的好地方。
  17. 对傅里叶函数以及级数的理解
  18. android 画图 平面图,房屋平面图 DIY 神工具!「MagicPlan」用手机拍照就自动帮你画好(iPhone, Android)...
  19. 中国超级计算机名单100强,中国高性能计算机TOP100榜单揭晓
  20. js毫秒转换为年月日时分

热门文章

  1. Python笔记-使用cython生成dll,C++进行调用
  2. Qt笔记-QSerialPort的使用(串口通信简单实例)
  3. MySQL工作笔记-使用rand生成随机数及用随机数填充记录
  4. QSettings生成以及解析配置文件
  5. Qt工作笔记-QList (链表) QVector (数组)【转载】
  6. mysql错误信息收集_MySQL错误信息记录
  7. php 文本处理 库,处理文本的PHP库
  8. php做前端可以不用js吗,2019,还要不要学前端?
  9. 操作系统之计算机系统概述:4、操作系统的运行机制(内核态用户态、特权指令非特权指令、内核程序应用程序)
  10. bitsadmin命令(Windows下载文件命令)