ASP.NET Core使用微软官方类库实现汉字转拼音
一、NuGet包
拼音:Install-Package SimplifiedChinesePinYinConversion
简体-繁体互转:Install-Package TraditionalChineseToSimplifiedConverter
二、C#代码
class Program { static void Main(string[] args) { string Name= "刘大大"; Console.WriteLine($"{Name}\n全拼:{GetPinyin(Name)},\n首拼:{GetFirstPinyin(Name)},\n繁体字:{GetTraditional(Name)},\n简体字:{GetSimplified(GetTraditional(Name))}"); Console.ReadKey(); } /// <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[].ToString(); r += t.Substring(, t.Length - ); } 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[].ToString(); r += t.Substring(, ); } catch { r += obj.ToString(); } } return r; } // <summary> /// 简体转换为繁体 /// </summary> /// <param name="str">简体字</param> /// <returns>繁体字</returns> public static string GetTraditional(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional); return r; } /// <summary> /// 繁体转换为简体 /// </summary> /// <param name="str">繁体字</param> /// <returns>简体字</returns> public static string GetSimplified(string str) { string r = string.Empty; r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified); return r; } #endregion } }View Code
运行结果