主要介绍了C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法,本文分别给出了使用微软语言包、手动编码实现两种实现方式,需要的朋友可以参考下

本文刚发布时,只写了一个实现方式,使用的是微软的语言包,但是对多音字的效果不怎么理想,甚至个别字会出现很诡异的错误,因此,现在扩展另一个方法,手动实现。

 

方式一、使用微软语言包

 

微软为了开发者实现国际化语言的互转,提供了Microsoft Visual Studio International Pack,这个扩展包里面有中文、日文、韩文、英语等各国语言包,并提供方法实现互转、获取拼音、获取字数、甚至获取笔画数等等。 [这种方式对多音字的效果不怎么理想,但是,这个方法比较简单,直接导入包就可以了,因此,对于那些只需要个别语句进行处理的或者不注重多音字的,可以使用这种方式,毕竟简便嘛。]

 

在这里示例讲的是输入汉字,获取其拼音,获取拼音和获取拼音首字母实现效果分别如下:

 

 

C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法C#中实现输入汉字获取其拼音(汉字转拼音)的2种方法

 

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

Microsoft Visual Studio International Pack 1.0 SR1Microsoft 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;//导入拼音相关

创建获取拼音的方法:

/// <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;

}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2021-11-17
  • 2022-02-11
  • 2022-12-23
  • 2021-06-23
  • 2021-08-01
猜你喜欢
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2021-12-16
相关资源
相似解决方案