美文网首页U3D技术采集Unity基础
C#实现汉字转换为拼音缩写

C#实现汉字转换为拼音缩写

作者: 游戏开发小Y | 来源:发表于2017-01-17 14:57 被阅读41次
    using System;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts; 
     
    public partial class _Default : System.Web.UI.Page
    {
     protected void Page_Load(object sender, EventArgs e)
     {
      Response.Write(GetPYString("中华人民共和国"));
     }
     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 < 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 "*";
     
     }
     
    }
    
    

    相关文章

      网友评论

        本文标题:C#实现汉字转换为拼音缩写

        本文链接:https://www.haomeiwen.com/subject/lcbmbttx.html