汉字转拼音首字母

 1 /// <summary>
 2   /// 汉字转拼音缩写
 3   /// /// Code By MuseStudio@hotmail.com
 4   /// /// 2004-11-30/// </summary>/// <param name="str">要转换的汉字字符串</param>
 5   /// /// <returns>拼音缩写</returns>
 6   public string GetPYString(string str)
 7   {    
 8    string tempStr = "";   
 9    foreach(char c in str)   
10    {        if((int)c >= 33 && (int)c <=126)       
11       {//字母和符号原样保留           
12        tempStr += c.ToString();       
13       }        else   
14       {//累加拼音声母     
15        tempStr += GetPYChar(c.ToString()); 
16       }    
17    }   
18    return tempStr;
19   }
20   /// <summary>
21   /// /// 取单个字符的拼音声母/// Code By MuseStudio@hotmail.com
22   /// /// 2004-11-30/// </summary>/// <param name="c">要转换的单个汉字</param>
23   /// /// <returns>拼音声母</returns>
24   public string GetPYChar(string c)
25   {   
26    byte[] array = new byte[2];    
27    array = System.Text.Encoding.Default.GetBytes(c);   
28    int i = (short)(array[0- '\0'* 256 + ((short)(array[1- '\0'));   
29    if ( i < 0xB0A1return "*";    
30    if ( i < 0xB0C5return "a";   
31    if ( i < 0xB2C1return "b";    
32    if ( i < 0xB4EEreturn "c";    
33    if ( i < 0xB6EAreturn "d";   
34    if ( i < 0xB7A2return "e";    
35    if ( i < 0xB8C1return "f";   
36    if ( i < 0xB9FEreturn "g";   
37    if ( i < 0xBBF7return "h";   
38    if ( i < 0xBFA6return "g";    
39    if ( i < 0xC0ACreturn "k";   
40    if ( i < 0xC2E8return "l";   
41    if ( i < 0xC4C3return "m";    
42    if ( i < 0xC5B6return "n";    
43    if ( i < 0xC5BEreturn "o";    
44    if ( i < 0xC6DAreturn "p";   
45    if ( i < 0xC8BBreturn "q";    
46    if ( i < 0xC8F6return "r";   
47    if ( i < 0xCBFAreturn "s";   
48    if ( i < 0xCDDAreturn "t";    
49    if ( i < 0xCEF4return "w";    
50    if ( i < 0xD1B9return "x";    
51    if ( i < 0xD4D1return "y";   
52    if ( i < 0xD7FAreturn "z";   
53    return "*";
54   } 
posted @ 2008-10-23 09:42  NON-Fish  阅读(505)  评论(0编辑  收藏  举报