转载自: http://www.cnblogs.com/LonelyShadow/p/3543798.html

前不久看到有的朋友实现对商品名称拼音的录入,发现他的实现方式是手动输入的,—_—#、同志们,福利来了!
 微软为了开发者实现国际化语言的互转,提供了Microsoft Visual Studio International Pack,这个扩展包里面有中文、日文、韩文、英语等各国语言包,并提供方法实现互转、获取拼音、获取字数、甚至获取笔画数等等。
 在这里示例讲的是输入汉字,获取其拼音,获取拼音和获取拼音首字母实现效果分别如下:  
 首先,去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下: Microsoft Visual Studio International Pack 1.0 SR1、Microsoft Visual Studio International Feature Pack 2.0
 下载后分别是“vsintlpack1.zip”、“Vsintlpack2.msi”、双击“Vsintlpack2.msi”安装、路径随意、但是要记得、因为一会要引用的、  安装“Vsintlpack2.msi”之后、解压“vsintlpack1.zip”、里面包含七个语言包、  例如中文转拼音“CHSPinYinConv.msi”、简体繁体互转“CHTCHSConv.msi”等等。。
 在这里我们用到的是“CHSPinYinConv.msi”、双击安装成功后、打开Visual Studio、新建一个WinForm项目、窗体布局如上图所示、

首先:添加刚刚安装的语言包引用:

“D:\Program Files (x86)\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library\ChnCharInfo.dll”

默认是C盘、在这里我安装在D盘了,然后添加using引用:

1 using Microsoft.International.Converters.PinYinConverter;//导入拼音相关

 创建获取拼音的方法:

 1 /// <summary>
 2 /// 汉字转化为拼音
 3 /// </summary>
 4 /// <param name="str">汉字</param>
 5 /// <returns>全拼</returns>
 6 public static string GetPinyin(string str)
 7 {
 8     string r = string.Empty;
 9     foreach (char obj in str)
10     {
11         try
12         {
13             ChineseChar chineseChar = new ChineseChar(obj);
14             string t = chineseChar.Pinyins[0].ToString();
15             r += t.Substring(0, t.Length - 1);
16         }
17         catch
18         {
19             r += obj.ToString();
20         }
21     }
22     return r;
23 }

汉字转化为拼音

 创建获取汉字拼音首字母的方法:

 1 /// <summary>
 2 /// 汉字转化为拼音首字母
 3 /// </summary>
 4 /// <param name="str">汉字</param>
 5 /// <returns>首字母</returns>
 6 public static string GetFirstPinyin(string str)
 7 {
 8     string r = string.Empty;
 9     foreach (char obj in str)
10     {
11         try
12         {
13             ChineseChar chineseChar = new ChineseChar(obj);
14             string t = chineseChar.Pinyins[0].ToString();
15             r += t.Substring(0, 1);
16         }
17         catch
18         {
19             r += obj.ToString();
20         }
21     }
22     return r;
23 }

汉字转化为拼音首字母

 然后在“转拼音”按钮的点击事件中调用上述方法:

1 // 汉字转拼音
2 private void btn_One_Click(object sender, EventArgs e)
3 {
4     string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到输入的源字符
5     string result = GetPinyin(source);  // 调用方法,获取拼音
6     this.txt_Pinyin_One.Text = result;
7 }

然后在“转拼音”按钮的点击事件中调用上述方法

 在“转首字母”按钮点击事件中调用上述方法:

1 // 转首字母
2 private void btn_Two_Click(object sender, EventArgs e)
3 {
4     string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到输入的源字符
5     string result = GetFirstPinyin(source);  // 调用方法,获取拼音
6     this.txt_Pinyin_One.Text = result;
7 }

在“转首字母”按钮点击事件中调用上述方法:

 到此,已经完成了80%,运行程序,你会发现,当点击“转拼音”的时候,结果是这样子的: 并不是我开始说的那种“Gu Ying”的效果啊、这是因为我在获取拼音的时候简单的处理了一下:

 1 // 汉字转拼音
 2 private void btn_One_Click(object sender, EventArgs e)
 3 {
 4     string source = this.txt_ChineseCharacter_One.Text.Trim();  // 得到输入的源字符
 5
 6     string result = string.Empty;   // 转拼音的结果
 7     string temp = string.Empty; // 下面foreach用到的临时变量
 8     foreach (char item in source)   // 遍历每个源字符
 9     {
10         temp = GetPinyin(item.ToString());  // 将每个字符转拼音
11         // 处理:获取首字母大写、其余字母小写
12         result += (String.Format("{0}{1} ", temp.Substring(0, 1).ToUpper(), temp.Substring(1).ToLower()));
13     }
14
15     //string result = GetPinyin(source);  // 调用方法,获取拼音
16     this.txt_Pinyin_One.Text = result;
17 }

处理拼音结果

 OK、到此、这个功能已经实现完成了,还有其余的语言包功能,和此类似,大家可以百度“Microsoft Visual Studio International Pack使用”、各种语言之间的互转及功能示例就出来了。

【来自:LonelyShadow http://www.cnblogs.com/LonelyShadow】

Copyright ©2014 Lonely Shadow

转载于:https://www.cnblogs.com/qq1040991197/p/3544189.html

汉字转拼音 - 输入汉字获取其拼音相关推荐

  1. .net 汉字转拼音 - 输入汉字获取其拼音

    首先,去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下: Microsoft Visual Studio Internatio ...

  2. html自动汉字转拼音,输入汉字转换成拼音首字母js代码

    js代码 //根据文本框输入的汉字自动获取汉字拼音首字母到下拉列表中,支持多音字,需引入库pinying.js function query(){ var str = document.getElem ...

  3. js 获取汉字首拼和全拼和拼音

    今天需要用到js获取汉字拼音,提供一个js    下载地址为 http://www.yzzmf.com/images/jquery_plugs/ChinesePY.js 源码如下 var Pinyin ...

  4. js 获取汉字首字母和汉字转拼音

    获取汉字首字母 汉字转拼音 获取汉字首字母 <!DOCTYPE html> <html lang="en"><head><meta cha ...

  5. 文字输入限制_从拼音输入法的兴起看汉字文化圈的衰落

    曾经韩国的报纸是这样的: 现在的则是这样的: (上面两图均来自网络,如有侵权请告知) 二战之后,曾经广泛使用汉字的朝韩跟越南都走上了废除汉字之路.日本虽然依然使用汉字,却也发布了<当用汉字表&g ...

  6. ajax返回的数据怎么显示出来_Excel输入汉字、拼音首字母就能显示数据出来,录数据时逐步提示...

    在办公中经常需要录入数据,特别是财务,人力资源,采购这块,经常需要 如果经常复制.粘贴很累,即使用到数据有效性进行设置,数据量多了,也不好选择. 所以,这里介绍两个Excel插件E灵和EXCEL必备工 ...

  7. 英语拼音怎么在计算机上拼出来的,跟我学用汉语拼音在英文键盘上输入汉字(之一)...

    一个重新连络上的旧日农友看了我的博客,问我是用什么方法打的字,因为她用的是笔划法,打得较慢,想像我要打那么长的文章怎么得了.最近又有我的一个中学时代的好友从中国传来伊媚儿,说她在美国的一个朋友(我也认 ...

  8. 输入汉字获得拼音(VB.net)

    输入汉字自动获得拼音 汉字转拼音#Region "汉字转拼音"     Public Shared Function GetFirstLetter()Function GetFir ...

  9. Android输入汉字得到拼音

    前一段时间,研究Android的通讯录,在它的contacts2.db数据库中发现raw_contacts表中有sort_key这一列用于排序的汉语拼音等信息,就突然想到我们可以利用它得到汉字相应的拼 ...

最新文章

  1. python 网络爬虫(一)
  2. 日本惊现神操作!偷偷研究飞刀方程致使厕所爆炸......
  3. 从相册获取图片,并获取裁剪后图片(系统自带)
  4. python 列表 元祖 字典 集合_python中列表、元祖、字典和集合
  5. 一个常见的下拉框(css)
  6. 图像处理九:拟合曲线
  7. Atitit.软件开发概念说明--io系统区--特殊文件名称保存最佳实践文件名称编码...filenameEncode 1.1. 不个网页title保存成个个文件的时候儿有无效字符的问题... 1
  8. Tomcat热部署(linux服务器)
  9. JS API: Fullscreen 全屏 API
  10. 使用DOM,SAX解析XML文档
  11. 计算机网口速率修改,win7系统修改无线网卡连接速率的操作方法
  12. 上网课的心得体会1000字_上网课的感受作文600字
  13. 一个屌丝程序员的青春(三七九)
  14. 力扣牛客每日刷题(Python解法持续更新)
  15. 宽带无法远程连接到计算机,登录校园宽带是显示不能建立远程计算机连接,在别的电脑可以登录 是为什么?...
  16. vue-cli项目局域网访问
  17. 解决captcha验证码无法显示的问题
  18. RandomResizedCrop
  19. 异构数据半小时实现搜索功能,一个系统搞定
  20. 如何开通公众号留言功能?

热门文章

  1. Android版本+pwa,微博pwa版本下载
  2. 蓝牙耳机录音进行讯飞语音识别
  3. gcc 中-O -O1 -O2 -O3 -Os -Ofast -Og优化的原理
  4. 自动驾驶汽车如何识别红绿灯?三个角度告诉你答案丨曼孚科技
  5. UML建模与软件开发设计(二)——UML概述
  6. HDUOJ1865 1string
  7. 新版qq虚拟摄像头颜色不正常_分享 | 在线教学常见问题QQ直播、视频通话、群课堂...
  8. IE浏览器官方下载合集
  9. Android中检测应用是否安装
  10. 网页计算器 html代码原理,HTML网页之计算器代码