——————————————————————————
第一种方法: 下面是封装的一个方法。将汉字转为拼音的方法,但是有些字转不了
/// <summary> /// 中文转拼音 /// </summary> /// <param name="str"></param> /// <returns></returns> public String ConvertToPinYinstring str) { string strPinYin = ""; int i = 0; Hashtable htData = Paramer.Json2HashtableDataProcessing.strPinYinDict); foreach char item in str.ToCharArray)) { if i == 0 && htData.ContainsKeyitem.ToString))) { strPinYin += htData[item.ToString)].ToString).ToUpper); i++; } else { if Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidCharitem)) { Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseCharitem); //PYstr += string.Join"", cc.Pinyins.ToArray)); strPinYin += cc.Pinyins[0].Substring0, cc.Pinyins[0].Length - 1); //PYstr += cc.Pinyins[0].Substring0, cc.Pinyins[0].Length - 1).Substring0, 1).ToLower); } else { strPinYin += item.ToString); } } } return strPinYin; }
必须 引用了using Microsoft.International.Converters.PinYinConverter;命名空间, 同时引用里面也添加了ChnCharInfo.dll
—-第二种方法:Pinyin-的插件比上面那种方法好用————————————————————————
string medicines = "来自中国的南方"; //转换为拼音 string d = Pinyin.GetPinyinmedicines); Console.WriteLine"UTF8句子拼音:"+d); Encoding gb2312 = Encoding.GetEncoding"GB2312"); //转换为拼音的简码 string s = Pinyin.ConvertEncodingmedicines, Encoding.UTF8, gb2312); string d1 = Pinyin.GetInitialss, gb2312); Console.WriteLine"GB2312拼音简码:"+d1);
需要引用一个插件: NPinyin.dll