首页 > 编程 > .NET > 正文

ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现

2024-07-10 12:43:49
字体:
来源:转载
供稿:网友

前不久看到有的朋友实现对商品名称拼音的录入,发现他的实现方式是手动输入的,—_—#、同志们,福利来了!

微软为了开发者实现国际化语言的互转,提供了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引用:
代码如下:
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;
}

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表