C# 获取汉字的拼音首字母

一种是把所有中文字符集合起来组成一个对照表;另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母。碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手动把该汉字移动到对应的拼音首字母队列,我们这里介绍第二种

获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C# 获取汉字的拼音首字母

 ///  /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 ///  /// 汉字字符串 /// 相对应的汉语拼音首字母串 public static string GetSpellCode(string CnStr) {   string strTemp="";   int iLen=CnStr.Length;   int i=0;   for (i=0;i<=iLen-1;i++) {      strTemp+=GetCharSpellCode(CnStr.Substring(i,1));   }   return strTemp; } ///  /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母 ///  /// 单个汉字 /// 单个大写字母 private static string GetCharSpellCode(string CnChar) {   long iCnChar;   byte[] ZW = System.Text.Encoding.Default.GetBytes(CnChar);   //如果是字母,则直接返回   if (ZW.Length==1) {      return CnChar.ToUpper();   }   else {      // get the array of byte from the single char     int i1 = (short)(ZW[0]);     int i2 = (short)(ZW[1]);     iCnChar = i1*256+i2;     }   // iCnChar match the constant   if ((iCnChar>=45217) && (iCnChar<=45252)) {      return "A";   }   else if ((iCnChar>=45253) && (iCnChar<=45760)) {     return "B";   } else if ((iCnChar>=45761) && (iCnChar<=46317)) {     return "C";   } else if ((iCnChar>=46318) && (iCnChar<=46825)) {     return "D";   } else if ((iCnChar>=46826) && (iCnChar<=47009)) {     return "E";   } else if ((iCnChar>=47010) && (iCnChar<=47296)) {     return "F";   } else if ((iCnChar>=47297) && (iCnChar<=47613)) {     return "G";   } else if ((iCnChar>=47614) && (iCnChar<=48118)) {     return "H";   } else if ((iCnChar>=48119) && (iCnChar<=49061)) {     return "J";   } else if ((iCnChar>=49062) && (iCnChar<=49323)) {     return "K";   } else if ((iCnChar>=49324) && (iCnChar<=49895)) {     return "L";   } else if ((iCnChar>=49896) && (iCnChar<=50370)) {     return "M";   }else if ((iCnChar>=50371) && (iCnChar<=50613)) {     return "N";   } else if ((iCnChar>=50614) && (iCnChar<=50621)) {     return "O";   } else if ((iCnChar>=50622) && (iCnChar<=50905)) {     return "P";   } else if ((iCnChar>=50906) && (iCnChar<=51386)) {     return "Q";   } else if ((iCnChar>=51387) && (iCnChar<=51445)) {     return "R";   } else if ((iCnChar>=51446) && (iCnChar<=52217)) {     return "S";   } else if ((iCnChar>=52218) && (iCnChar<=52697)) {     return "T";   } else if ((iCnChar>=52698) && (iCnChar<=52979)) {     return "W";   } else if ((iCnChar>=52980) && (iCnChar<=53640)) {     return "X";   } else if ((iCnChar>=53689) && (iCnChar<=54480)) {     return "Y";   } else if ((iCnChar>=54481) && (iCnChar<=55289)) {     return "Z";   } else   return ("?"); } 

以上所述就是本文的全部内容了,希望大家能够喜欢。

以上就是C# 获取汉字的拼音首字母的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » 其他教程