得到汉字拼音的原码

 /// <summary>
      /// 得到汉字的首拼
      /// </summary>
      /// <param name="HZ">汉字</param>
      /// <returns></returns>
      public static string GetShouPin(string HZ)
      {
        string ret = string.Empty;
        for (int i = 0; i < HZ.Length; i++)
        {
          ret += GetPinyin2(HZ.Substring(i, 1));
        }
        return ret;
      }

      private static string GetPinyin2(string HZ)
      {
        try
        {
          byte[] ZW = new byte[2];
          long HZ_INT;
          ZW = System.Text.Encoding.Default.GetBytes(HZ);
          //   get   the     array   of   byte   from   the   single   char    
          //int   i1   =   (short)(array[0]   -   oxa1);  
          //int   i2   =   (short)(array[1]   -   oxa1);  
          if (ZW.Length <= 1)
          {
            return HZ;
          }
          int i1 = (short)(ZW[0]);
          int i2 = (short)(ZW[1]);
          HZ_INT = i1 * 256 + i2;   //     expresstion  
          //table   of   the   constant   list  
          // 'A';           //45217..45252  
          // 'B';           //45253..45760  
          // 'C';           //45761..46317  
          // 'D';           //46318..46825  
          // 'E';           //46826..47009  
          // 'F';           //47010..47296  
          // 'G';           //47297..47613  

          // 'H';           //47614..48118  
          // 'J';           //48119..49061  
          // 'K';           //49062..49323  
          // 'L';           //49324..49895  
          // 'M';           //49896..50370  
          // 'N';           //50371..50613  
          // 'O';           //50614..50621  
          // 'P';           //50622..50905  
          // 'Q';           //50906..51386  

          // 'R';           //51387..51445  
          // 'S';           //51446..52217  
          // 'T';           //52218..52697  
          //没有U,V  
          // 'W';           //52698..52979  
          // 'X';           //52980..53640  
          // 'Y';           //53689..54480  
          // 'Z';           //54481..55289  

          //   HZ_INT match     the   constant  
          if ((HZ_INT >= 45217) && (HZ_INT <= 45252))
          {
            return "A";
          }
          if ((HZ_INT >= 45253) && (HZ_INT <= 45760))
          {
            return "B";
          }
          if ((HZ_INT >= 45761) && (HZ_INT <= 46317))
          {
            return "C";

          }
          if ((HZ_INT >= 46318) && (HZ_INT <= 46825))
          {
            return "D";
          }
          if ((HZ_INT >= 46826) && (HZ_INT <= 47009))
          {
            return "E";
          }
          if ((HZ_INT >= 47010) && (HZ_INT <= 47296))
          {
            return "F";
          }
          if ((HZ_INT >= 47297) && (HZ_INT <= 47613))
          {
            return "G";
          }
          //**************************  
          if ((HZ_INT >= 47614) && (HZ_INT <= 48118))
          {
            //MessageBox.Show("H");  
            return "H";
          }

          if ((HZ_INT >= 48119) && (HZ_INT <= 49061))
          {
            return "J";
          }
          if ((HZ_INT >= 49062) && (HZ_INT <= 49323))
          {
            return "K";
          }
          if ((HZ_INT >= 49324) && (HZ_INT <= 49895))
          {
            return "L";
          }
          if ((HZ_INT >= 49896) && (HZ_INT <= 50370))
          {
            return "M";
          }

          if ((HZ_INT >= 50371) && (HZ_INT <= 50613))
          {
            return "N";

          }
          if ((HZ_INT >= 50614) && (HZ_INT <= 50621))
          {
            return "O";
          }
          if ((HZ_INT >= 50622) && (HZ_INT <= 50905))
          {
            return "P";

          }
          if ((HZ_INT >= 50906) && (HZ_INT <= 51386))
          {
            return "Q";

          }
          //*********************  
          if ((HZ_INT >= 51387) && (HZ_INT <= 51445))
          {
            return "R";
          }
          if ((HZ_INT >= 51446) && (HZ_INT <= 52217))
          {
            return "S";
          }
          if ((HZ_INT >= 52218) && (HZ_INT <= 52697))
          {
            return "T";
          }
          if ((HZ_INT >= 52698) && (HZ_INT <= 52979))
          {
            return "W";
          }
          if ((HZ_INT >= 52980) && (HZ_INT <= 53640))
          {
            return "X";
          }
          if ((HZ_INT >= 53689) && (HZ_INT <= 54480))
          {
            return "Y";
          }
          if ((HZ_INT >= 54481) && (HZ_INT <= 55289))
          {
            return "Z";
          }
        }
        catch
        {
        }

        return ("");
      }    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值