asp.net 取中文汉字第一个拼音字母的代码

发布时间:2020-05-19编辑:脚本学堂
asp.net代码实现取中文汉字的第一个拼音字母,用程序创建缩写文字夹时可以用到吧,有需要的朋友,参考下。

代码如下:

public class ChsSpell  
{  
 /**//// <summary>  
 /// 取中文汉字的第一个拼音字母  
 /// </summary>  
 /// <param name="strText">中字汉字</param>  
 /// <returns>大写拼音首字母</returns> 
 /// by www.jb200.com
 public string GetChsSpell(string strText)  
    {  
     int len = strText.Length;  
     string myStr = "";  
     for(int i=0;i<len;i++)  
 {  
  myStr +=this.getSpell(strText.Substring(i,1));  
     }  
     return myStr;  
 }  
  
  
 private string getSpell(string cnChar)  
    {  
     byte[] arrCN = Encoding.Default.GetBytes(cnChar);  
     if(arrCN.Length > 1)  
 {  
  int area = (short)arrCN[0];  
  
  int pos = (short)arrCN[1];  
  int code = (area<<8) + pos;  
  int[] areacode = ...{45217,45253,45761,46318,46826,47010,47297,47614,48119,48119,49062,49324,49896,50371,50614,
50622,50906,51387,51446,52218,52698,52698,52698,52980,53689,54481};  
  for(int i=0;i<26;i++)  
     {  
      int max = 55290;  
      if(i != 25) max = areacode[i+1];  
      if(areacode[i]<=code && code<max)  
  {  
   return Encoding.Default.GetString(new byte[]...{(byte)(65+i)});  
      }  
  }  
  return "*";  
     }  
     else return cnChar;  
 }  
    }