鹿我所录的博客

记录我在学习C#中的点点滴滴,记录下以备后来人借鉴。

 

C# 获取汉字转拼音缩写-简写,不是全拼

///<summary>

       
/// 汉字转拼音缩写

       
/// Code By
       
/// 2004-11-30

       
///</summary>

       
///<param name="str">要转换的汉字字符串</param>

       
///<returns>拼音缩写</returns>

        publicstring 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

       
/// 2004-11-30

       
///</summary>

       
///<param name="c">要转换的单个汉字</param>

       
///<returns>拼音声母</returns>

        publicstring GetPYChar(string c)

        {

           
byte[] array =newbyte[2];

            array
= System.Text.Encoding.Default.GetBytes(c);

           
int i = (short)(array[0] -'\0') *256+ ((short)(array[1] -'\0'));

           
if ( i <0xB0A1) return"*";

           
if ( i <0xB0C5) return"a";

           
if ( i <0xB2C1) return"b";

           
if ( i <0xB4EE) return"c";

           
if ( i <0xB6EA) return"d";

           
if ( i <0xB7A2) return"e";

           
if ( i <0xB8C1) return"f";

           
if ( i <0xB9FE) return"g";

           
if ( i <0xBBF7) return"h";

           
if ( i <0xBFA6) return"g";

           
if ( i <0xC0AC) return"k";

           
if ( i <0xC2E8) return"l";

           
if ( i <0xC4C3) return"m";

           
if ( i <0xC5B6) return"n";

           
if ( i <0xC5BE) return"o";

           
if ( i <0xC6DA) return"p";

           
if ( i <0xC8BB) return"q";

           
if ( i <0xC8F6) return"r";

           
if ( i <0xCBFA) return"s";

           
if ( i <0xCDDA) return"t";

           
if ( i <0xCEF4) return"w";

           
if ( i <0xD1B9) return"x";

           
if ( i <0xD4D1) return"y";

           
if ( i <0xD7FA) return"z";

           
return"*";

        }

posted on 2013-11-29 20:16  鹿我所录  阅读(911)  评论(0编辑  收藏  举报

导航