汉字转拼音缩写的函数

    /// 汉字转拼音缩写 
    
/// </summary> 
    
/// <param name="str">要转换的汉字字符串</param> 
    
/// <returns>拼音缩写</returns> 

    public string GetPYString(string str) 
    

        
string tempStr = ""
        
foreach(char c in str) 
        

            
if((int)c >= 33 && (int)c <=126
            
{
                
//字母和符号原样保留 
                tempStr += c.ToString(); 
            }
 
            
else 
            
{
                
//累加拼音声母 
                tempStr += GetPYChar(c.ToString()); 
            }
 
        }
 
        
return tempStr; 
    }
 

    
/// <summary> 
    
/// 取单个字符的拼音声母 
    
/// Code By MuseStudio@hotmail.com 
    
/// 2004-11-30 
    
/// </summary> 
    
/// <param name="c">要转换的单个汉字</param> 
    
/// <returns>拼音声母</returns> 

    public string GetPYChar(string c) 
    

        
byte[] array = new byte[2]; 
        array 
= System.Text.Encoding.Default.GetBytes(c); 
        
int i = (short)(array[0- '\0'* 256 + ((short)(array[1- '\0')); 

        
if ( i < 0xB0A1return "*"
        
if ( i < 0xB0C5return "a"
        
if ( i < 0xB2C1return "b"
        
if ( i < 0xB4EEreturn "c"
        
if ( i < 0xB6EAreturn "d"
        
if ( i < 0xB7A2return "e"
        
if ( i < 0xB8C1return "f"
        
if ( i < 0xB9FEreturn "g"
        
if ( i < 0xBBF7return "h"
        
if ( i < 0xBFA6return "j"
        
if ( i < 0xC0ACreturn "k"
        
if ( i < 0xC2E8return "l"
        
if ( i < 0xC4C3return "m"
        
if ( i < 0xC5B6return "n"
        
if ( i < 0xC5BEreturn "o"
        
if ( i < 0xC6DAreturn "p"
        
if ( i < 0xC8BBreturn "q"
        
if ( i < 0xC8F6return "r"
        
if ( i < 0xCBFAreturn "s"
        
if ( i < 0xCDDAreturn "t"
        
if ( i < 0xCEF4return "w"
        
if ( i < 0xD1B9return "x"
        
if ( i < 0xD4D1return "y"
        
if ( i < 0xD7FAreturn "z"

        
return "*"
    }
 

posted on 2007-03-14 17:40  林晓可  阅读(267)  评论(0编辑  收藏  举报

导航