• 将汉字转为拼音


    ------------------------------------------------------------------------------

    第一种方法: 下面是封装的一个方法。将汉字转为拼音的方法,但是有些字转不了

         /// <summary>
            /// 中文转拼音
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public  String ConvertToPinYin(string str)
            {
                string strPinYin = "";
                int i = 0;
                Hashtable htData = Paramer.Json2Hashtable(DataProcessing.strPinYinDict);   
                foreach (char item in str.ToCharArray())
                {         
                    if (i == 0 && htData.ContainsKey(item.ToString()))
                    {          
                        strPinYin += htData[item.ToString()].ToString().ToUpper();
                        i++;
                    }
                    else
                    {
                        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());
                            strPinYin += 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
                        {
                            strPinYin += item.ToString();
                        }
                    }
                }    
                return strPinYin;
            }

    必须 引用了using Microsoft.International.Converters.PinYinConverter;命名空间,  同时引用里面也添加了ChnCharInfo.dll

    ----第二种方法:Pinyin-的插件比上面那种方法好用------------------------------------------------------------------------

     string medicines = "来自中国的南方";
               
     //转换为拼音
    string d = Pinyin.GetPinyin(medicines);
     Console.WriteLine("UTF8句子拼音:"+d);
    
     Encoding gb2312 = Encoding.GetEncoding("GB2312");
               
     //转换为拼音的简码 
     string s = Pinyin.ConvertEncoding(medicines, Encoding.UTF8, gb2312);
     string d1 = Pinyin.GetInitials(s, gb2312);
     Console.WriteLine("GB2312拼音简码:"+d1);

    需要引用一个插件: NPinyin.dll

  • 相关阅读:
    Python操作Excel表格
    Python爬虫实战:爬取美食节川菜信息
    超级实用的Python网络爬虫反反爬策略之构造UA池及IP代理池
    Python 静态方法
    IDEA连接远程服务器Docker部署Spring Boot项目
    Dockerfile 解析
    Python爬虫实战-统计博客园阅读量问题
    Docker 容器数据卷
    Docker镜像
    PL/SQL
  • 原文地址:https://www.cnblogs.com/cl1006/p/6392624.html
Copyright © 2020-2023  润新知