汉字转拼音缩写

 
  1. public class Class1
  2. {
  3.     public Class1()
  4.     {
  5.         
  6.     }
  7.     /// <summary>
  8.     /// 汉字转拼音缩写
  9.     /// Code By [email protected]
  10.     /// 2004-11-30
  11.     /// </summary>
  12.     /// <param name="str">要转换的汉字字符串</param>
  13.     /// <returns>拼音缩写</returns>
  14.     public string GetPYString(string str)
  15.     {
  16.         string tempStr = "";
  17.         foreach (char c in str)
  18.         {
  19.             if ((int)c >= 33 && (int)c <= 126)
  20.             {//字母和符号原样保留
  21.                 tempStr += c.ToString();
  22.             }
  23.             else
  24.             {//累加拼音声母
  25.                 tempStr += GetPYChar(c.ToString());
  26.             }
  27.         }
  28.         return tempStr;
  29.     }
  30.     /// <summary>
  31.     /// 取单个字符的拼音声母
  32.     /// Code By [email protected]
  33.     /// 2004-11-30
  34.     /// </summary>
  35.     /// <param name="c">要转换的单个汉字</param>
  36.     /// <returns>拼音声母</returns>
  37.     public string GetPYChar(string c)
  38.     {
  39.         byte[] array = new byte[2];
  40.         array = System.Text.Encoding.Default.GetBytes(c);
  41.         int i = (short)(array[0] - '/0') * 256 + ((short)(array[1] - '/0'));
  42.         if (i < 0xB0A1) return "*";
  43.         if (i < 0xB0C5) return "a";
  44.         if (i < 0xB2C1) return "b";
  45.         if (i < 0xB4EE) return "c";
  46.         if (i < 0xB6EA) return "d";
  47.         if (i < 0xB7A2) return "e";
  48.         if (i < 0xB8C1) return "f";
  49.         if (i < 0xB9FE) return "g";
  50.         if (i < 0xBBF7) return "h";
  51.         if (i < 0xBFA6) return "g";
  52.         if (i < 0xC0AC) return "k";
  53.         if (i < 0xC2E8) return "l";
  54.         if (i < 0xC4C3) return "m";
  55.         if (i < 0xC5B6) return "n";
  56.         if (i < 0xC5BE) return "o";
  57.         if (i < 0xC6DA) return "p";
  58.         if (i < 0xC8BB) return "q";
  59.         if (i < 0xC8F6) return "r";
  60.         if (i < 0xCBFA) return "s";
  61.         if (i < 0xCDDA) return "t";
  62.         if (i < 0xCEF4) return "w";
  63.         if (i < 0xD1B9) return "x";
  64.         if (i < 0xD4D1) return "y";
  65.         if (i < 0xD7FA) return "z";
  66.         return "*";
  67.     } 
  68. }

你可能感兴趣的:(汉字转拼音缩写)