WinForm/C# C# 中文汉语生成拼音 (微软官方方案)

xinggang · 2017年02月09日 · 71 次阅读

如题所说希望将中文内容转成拼音,可以通过 SQL 存储过程(网上搜索)实现,也可通过 C# 实现,而 C# 实现方式也有多种,网上有人提供了工具类,这里分享一下微软官方提供的解决方案,即 Microsoft Visual Studio International Pack 类库软件包,其中有一个类库:Simplified Chinese Pin-Yin Conversion Library 支持获取简体中文字符的常用属性。
vsintlpack1.zip下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn
下载后安装找到:ChnCharInfo.dll 引用即可,示例代码如下:

private string ConvertToPinYin(string str)
        {
            string PYstr = "";
            foreach (char item in str.ToCharArray())
            {
                if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                {
                    Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);

                    //PYstr += string.Join("", cc.Pinyins.ToArray());
                    PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
                    //PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1).Substring(0, 1).ToLower();
                }
                else
                {
                    PYstr += item.ToString();
                }
            }
            return PYstr;
        }
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册