/// <summary> /// 将中文字符转换为汉语拼音的首字母。 /// </summary> /// <param name="source">将要转换的字符串。</param> /// <param name="containRare">是否搜索生僻字。</param> /// <returns>转换后的字符串。</returns> public static string ToPinyin(this string source, bool containRare = false) { if (string.IsNullOrEmpty(source)) { return(source); } var output = new StringBuilder(source.Length); foreach (var c in source) { if (c.IsChinese()) { var ascii = CharExtension.GetAsciiCode(c); var key = ChineseSpellHelper.FindBaseDictionary(ascii, c); if (key == c && containRare) { key = ChineseSpellHelper.FindRareDictionary(ascii, c); } output.Append(key); } else { output.Append(c); } } return(output.ToString()); }
/// <summary> /// 将中文字符转换为汉语拼音的全拼。 /// </summary> /// <param name="source">将要转换的字符串。</param> /// <returns>转换后的字符串。</returns> public static string ToFullPinyin(this string source) { return(ChineseSpellHelper.GetPinyin(source)); }
/// <summary> /// 将中文字符转换为汉语拼音的首字母。 /// </summary> /// <param name="source">将要转换的字符串。</param> /// <returns>转换后的字符串。</returns> public static string ToPinyin(this string source) { return(ChineseSpellHelper.GetPinyinFirstLetter(source)); }