WINFORM调用百度翻译API
来源:互联网 发布:疲劳检测算法 编辑:程序博客网 时间:2024/05/21 19:46
目前在做一个小东西,有一个国家代码表,里面的国家名称都是英文的,现在要把它翻译成中文,以方便使用。可是我又不想一个一个的去翻译,于是就看了一下百度翻译的API文档,写了个小程序去自动翻译。网上搜了一个教程,但有点过时,我自己改了一下,下面是目前最新的使用方法:
1、查看百度翻译API接入文档。
2、申请接入。
3、查看自己的APP ID和密钥。如下图所示:
4、编写代码
public string GetTransReslut(string BeforeStr)
{
WebClient client = new WebClient(); //引用System.Net
string appid = "201707***********";//改成自己的APP ID
string rand = DateTime.Now.ToString("yyyyMMddhhmmss"); //这个是随机数,不用改
string key = "mC_9Pak************"; //改成自己的密钥
string CmdStr = $"{appid}{BeforeStr}{rand}{key}";
byte[] result = Encoding.UTF8.GetBytes(CmdStr);
MD5 md5 = new MD5CryptoServiceProvider();
byte[] output = md5.ComputeHash(result);
string md5Str = BitConverter.ToString(output).Replace("-", "").ToLower();//转换成MD5,且一定要小写
string url = string.Format("http://api.fanyi.baidu.com/api/trans/vip/translate?q={0}&from={1}&to={2}&appid={3}&salt={4}&sign={5}", UrlEncode(BeforeStr), tranClass.From, tranClass.To, appid, rand, md5Str);
var buffer = client.DownloadData(url);
string result2 = Encoding.UTF8.GetString(buffer);
StringReader sr = new StringReader(result2);
JsonTextReader jsonReader = new JsonTextReader(sr); //引用Newtonsoft.Json 自带
JsonSerializer serializer = new JsonSerializer();
var r = serializer.Deserialize<TranClass>(jsonReader); //Json转换成结果类
return r.Trans_result[0].dst; //返回结果
}
public static string UrlEncode(string str)
{
StringBuilder sb = new StringBuilder();
byte[] byStr = System.Text.Encoding.UTF8.GetBytes(str);
for (int i = 0; i < byStr.Length; i++)
{
sb.Append(@"%" + Convert.ToString(byStr[i], 16));
}
return (sb.ToString());
}
另外的两个类:
public class TranClass
{
public string From { get; set; }
public string To { get; set; }
public List<Trans_result> Trans_result { get; set; }
}
public class Trans_result
{
public string src { get; set; }
public string dst { get; set; }
}
OK,到此结束,上面的代码应该都能看懂吧。另外补充一下:tranClass.From, tranClass.To这两个是怎么来的,我这里是定义的一个全局的TranClasstranClass =new TranClass();
然后给tranClass.From,tranClass.To赋值,tranClass.From="en",tranClass.To="zh"就表示是英译汉。更多的语言缩写可以查看百度翻译API文档。
- WINFORM调用百度翻译API
- 调用百度翻译API
- 百度翻译API的调用
- 百度翻译API的简单调用
- python3 调用百度翻译API翻译英文字幕
- shell下使用php调用百度翻译API
- 实践项目五:python调用百度API实现自动检测翻译
- 百度翻译api开发
- 百度翻译API请求
- Python 调用 百度翻译
- python调用百度翻译
- C#调用百度翻译
- python3调用百度翻译
- C#调用百度翻译API实现自己的简单翻译工具
- 【Python】Python的urllib、urllib2模块调用“百度翻译”API进行批量自动翻译
- [Python]通过调用百度翻译API实现的翻译小程序
- c# winform调用百度地图
- Winform调用百度地图接口
- 根据后台数据动态生成表格
- zookeeper 安装的三种模式
- Find The Multiple ——深搜POJ
- 【资源】2014斯坦福机器学习视频+西瓜书pdf及答案
- node.js开发:在windows环境下安装node与环境配置
- WINFORM调用百度翻译API
- 【hihocoder 1046】K Seq(线段树)
- MySQL使用IP地址登录 ERROR 1045 (28000): Access denied for user 'root'@'11.1.81.117' (using passwor:YES)
- JSON 字符串 单引号双引号 处理
- 齐次坐标,多视图几何,三维重建数学
- [qt for android]构建项目时,出现“过程试图写入的管道不存在”错误的解决方法
- easyui 多表头设置以及绑定数据
- BLE-NRF51822教程10—动态密码(配对码)
- 动画animation