A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© sunrise2 高级黑马   /  2014-7-22 22:45  /  980 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. using System;
  2. using System.Configuration;
  3. using System.Data;
  4. using System.Web;
  5. using System.Web.Security;
  6. using System.Web.UI;
  7. using System.Web.UI.HtmlControls;
  8. using System.Web.UI.WebControls;
  9. using System.Web.UI.WebControls.WebParts;

  10. public partial class _Default : System.Web.UI.Page
  11. {
  12.     protected void Page_Load(object sender, EventArgs e)
  13.     {
  14.         Response.Write(GetPYString("中华人民共和国"));
  15.     }
  16.     public string GetPYString(string str)
  17.     {
  18.         string tempStr = "";
  19.         foreach (char c in str)
  20.         {
  21.             if ((int)c >= 33 && (int)c <= 126)
  22.             {//字母和符号原样保留
  23.                 tempStr += c.ToString();
  24.             }
  25.             else
  26.             {//累加拼音声母
  27.                 tempStr += GetPYChar(c.ToString());
  28.             }
  29.         }
  30.         return tempStr;
  31.     }
  32.     ///  
  33.     /// 取单个字符的拼音声母
  34.     ///  
  35.     /// 要转换的单个汉字
  36.     /// 拼音声母
  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. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马