~~鱼跃~~

I Want to fly!

导航

转 C#中文转换成累加拼音声母,直接使用

Posted on 2007-03-08 17:06  flyfish  阅读(627)  评论(0编辑  收藏  举报
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;
        }


        
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 "g";
            
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 "*";
        }

   前段时间因项目需要把中文用户都改成字母,在网上找的文章(具体不记得了)!现在源代码贴出来,只需传你要转换的中文(str)即可~~~~
如: 博客 转成 bk

 

http://www.cnblogs.com/youxiang/archive/2007/03/08/668199.html