• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现

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

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

    创建获取汉字拼音首字母的方法:
    复制代码 代码如下:

    /// 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 temp = string.Empty; // 下面foreach用到的临时变量
        foreach (char item in source)   // 遍历每个源字符
        {
            temp = GetPinyin(item.ToString());  // 将每个字符转拼音
            // 处理:获取首字母大写、其余字母小写
            result += (String.Format("{0}{1} ", temp.Substring(0, 1).ToUpper(), temp.Substring(1).ToLower()));
        }

        //string result = GetPinyin(source);  // 调用方法,获取拼音
        this.txt_Pinyin_One.Text = result;
    }


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

    您可能感兴趣的文章:
    • ASP.NET 根据汉字获取汉字拼音的首字母(含多音字)
    • 汉字转拼音缩写示例代码(Silverlight和.NET 将汉字转换成为拼音)
    • asp.net 汉字转换拼音及首字母实现代码
    • asp.net 根据汉字的拼音首字母搜索数据库(附 LINQ 调用方法)
    • asp.net(C#)把汉字转化成全拼音函数(全拼)
    • asp.net 自动将汉字转换成拼音第一个字母
    • asp.net汉字转拼音和获取汉字首字母的代码
    • ASP.NET Core使用微软官方类库实现汉字转拼音
    上一篇:Ajax实现异步刷新验证用户名是否已存在的具体方法
    下一篇:.Net消息队列的使用方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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