ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现
前不久看到有的朋友实现对商品名称拼音的录入,发现他的实现方式是手动输入的,―_―#、同志们,福利来了! 微软为了开发者实现国际化语言的互转,提供了Microsoft Visual Studio International Pack,这个扩展包里面有中文、日文、韩文、英语等各国语言包,并提供方法实现互转、获取拼音、获取字数、甚至获取笔画数等等。 在这里示例讲的是输入汉字,获取其拼音,获取拼音和获取拼音首字母实现效果分别如下: 首先,去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下: Microsoft Visual Studio International Feature Pack 2.0 下载后分别是“vsintlpack1.zip”、“Vsintlpack2.msi”、双击“Vsintlpack2.msi”安装、路径随意、但是要记得、因为一会要引用的、 在这里我们用到的是“CHSPinYinConv.msi”、双击安装成功后、打开Visual Studio、新建一个WinForm项目、窗体布局如上图所示、 首先:添加刚刚安装的语言包引用: “D:Program Files (x86)Microsoft Visual Studio International PackSimplified Chinese Pin-Yin Conversion LibraryChnCharInfo.dll” 默认是C盘、在这里我安装在D盘了,然后添加using引用: 复制代码 代码如下: using Microsoft.International.Converters.PinYinConverter;//导入拼音相关 创建获取拼音的方法: 复制代码 代码如下: /// <summary> /// 汉字转化为拼音 /// </summary> /// <param name="str">汉字</param> /// <returns>全拼</returns> public static string GetPinyin(string str) { string r = string.Empty; foreach (char obj in str) { try { ChineseChar chineseChar = new ChineseChar(obj); string t = chineseChar.Pinyins[0].ToString(); r += t.Substring(0,t.Length - 1); } catch { r += obj.ToString(); } } return r; } 创建获取汉字拼音首字母的方法: 复制代码 代码如下: /// <summary> /// 汉字转化为拼音首字母 /// </summary> /// <param name="str">汉字</param> /// <returns>首字母</returns> public static string GetFirstPinyin(string str) { string r = string.Empty; foreach (char obj in str) { try { ChineseChar chineseChar = new ChineseChar(obj); string t = chineseChar.Pinyins[0].ToString(); r += t.Substring(0,1); } catch { r += obj.ToString(); } } return r; } 然后在“转拼音”按钮的点击事件中调用上述方法: 复制代码 代码如下: // 汉字转拼音 private void btn_One_Click(object sender,EventArgs e) { string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符 string result = GetPinyin(source); // 调用方法,获取拼音 this.txt_Pinyin_One.Text = result; } 在“转首字母”按钮点击事件中调用上述方法: 复制代码 代码如下: // 转首字母 private void btn_Two_Click(object sender,EventArgs e) { string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符 string result = GetFirstPinyin(source); // 调用方法,获取拼音 this.txt_Pinyin_One.Text = result; } 到此,已经完成了80%,运行程序,你会发现,当点击“转拼音”的时候,结果是这样子的: 并不是我开始说的那种“Gu Ying”的效果啊、这是因为我在获取拼音的时候简单的处理了一下: 复制代码 代码如下: // 汉字转拼音 private void btn_One_Click(object sender,EventArgs e) { string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符 string result = string.Empty; // 转拼音的结果 //string result = GetPinyin(source); // 调用方法,获取拼音 OK、到此、这个功能已经实现完成了,还有其余的语言包功能,和此类似,大家可以百度“Microsoft Visual Studio International Pack使用”、各种语言之间的互转及功能示例就出来了。 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 如何在asp.net mvc中持久化查询字符串值?
- asp.net-mvc – 数据库中已经有一个名为“AspNetRoles”的对
- asp.net-mvc – 基于Route Params的ASP.NET MVC授权
- asp.net – 是否可以解密和查看ViewState值?
- ASP.Net Web服务:异步运行代码
- ASP.NET MVC中的Dropdownlist onchange事件不使用AJAX
- 在ASP.NET中使用Web API而不是Web方法有什么优势
- asp.net-mvc – 在.NET 3.5 ASP.NET MVC应用程序中使用Goog
- asp.net-mvc – 在ASP.NET MVC中的ReturnUrl
- 将Asp.net应用程序移动到负载平衡的环境中