博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转:汉字转拼音 - 输入汉字获取其拼音
阅读量:6904 次
发布时间:2019-06-27

本文共 2241 字,大约阅读时间需要 7 分钟。

今天看到一篇汉字转拼音的博客,感觉不错,写下来。 原文出处: 微软为了开发者实现国际化语言的互转,提供了Microsoft Visual Studio International Pack,这个扩展包里面有中文、日文、韩文、英语等各国语言包,并提供方法实现互转、获取拼音、获取字数、甚至获取笔画数等等。 在这里示例讲的是输入汉字,获取其拼音,获取拼音和获取拼音首字母实现效果分别如下:
1.jpg   
2.jpg 首先,去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下: 、 下载后分别是“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引用: [code lang="csharp"] using Microsoft.International.Converters.PinYinConverter;//导入拼音相关 [/code] 创建获取拼音的方法:   [code lang="chsarp"] /// <summary> /// 获取文字拼音 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string GetPinYin(string str) { StringBuilder strResult = new StringBuilder(); foreach (char item in str) { try { ChineseChar chineseChar = new ChineseChar(item); string t = chineseChar.Pinyins[0].ToString(); strResult.Append(t.Substring(0, t.Length - 1)); } catch { strResult.Append(item.ToString()); } } return strResult.ToString(); } [/code] 创建获取汉字拼音首字母的方法: [code lang="csharp"] /// <summary> /// 获取拼音首字母 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string GetFirstPinYin(string str) { StringBuilder strResult = new StringBuilder(); foreach (char obj in str) { try { ChineseChar chineseChar = new ChineseChar(obj); string t = chineseChar.Pinyins[0].ToString(); strResult.Append(t.Substring(0, 1)); } catch { strResult.Append(obj.ToString()); } } return strResult.ToString(); } [/code]   然后在“转拼音”按钮的点击事件中调用上述方法: [code lang="csharp"] private void button1_Click(object sender, EventArgs e) { string source = textBox1.Text.Trim(); string result = GetPinYin(source); textBox2.Text = result; } [/code] 在“转首字母”按钮点击事件中调用上述方法: [code lang="csharp"] private void button2_Click(object sender, EventArgs e) { string source = textBox1.Text.Trim(); string result = GetFirstPinYin(source); textBox2.Text = result; } [/code]    

转载于:https://www.cnblogs.com/woaic/p/3942939.html

你可能感兴趣的文章
什么是最好的linux服务器管理系统
查看>>
完全卸载oracle
查看>>
汇编----指令(一)
查看>>
我的友情链接
查看>>
在虚拟机上安装centos7
查看>>
【C#】string.format 应用
查看>>
地图检索 – 与众不同
查看>>
nginx 配置实战:流量及并发连接数限制
查看>>
关于logrotate的额外补充
查看>>
我的友情链接
查看>>
图解自定义安装CentOS
查看>>
Xposed hook(android)
查看>>
vs设置异常就断下
查看>>
win7 共享打印机后,客户端连接提示:打印机已删除(0x00000709)
查看>>
工作与生活之平衡(4)微博病患者
查看>>
Andriod第七课-----数据库
查看>>
Shell使用for循环语句
查看>>
ASP.NET设计的几个技巧
查看>>
电脑爱好者GHOSTWIN7纯净版V1.0
查看>>
Bootstrap3系列:输入框组
查看>>