本文主要是介绍C#汉字转化成拼音的算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public static string ChineseToFullPinYin(string chinese)
{ // 匹配中文字符Regex regex = new Regex("^[\u4e00-\u9fa5]$");byte[] array = new byte[2]; string pyString = "";int chrAsc = 0; int i1 = 0;int i2 = 0;char[] noWChar = chinese.ToCharArray();for (int j = 0; j < noWChar.Length; j++) { // 中文字符if (regex.IsMatch(noWChar[j].ToString())){ array = System.Text.Encoding.Default.GetBytes(noWChar[j].ToString());i1 = (short)(array[0]);i2 = (short)(array[1]); chrAsc = i1 * 256 + i2 - 65536; if (chrAsc > 0 && chrAsc < 160) { pyString += noWChar[j]; } else { // 修正部分文字 if (chrAsc == -9254) // 修正"圳"字 {pyString += "Zhen";} else if (chrAsc == -12080) { pyString += "Hang"; }else { for (int i = (pyValue.Length - 1); i >= 0; i--){ if (pyValue[i] <= chrAsc) { pyString += pyName[i]; break; } } } }} // 非中文字符 else { pyString += noWChar[j].ToString(); }} return pyString;}
这篇关于C#汉字转化成拼音的算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!