zoukankan      html  css  js  c++  java
  • C# 获取汉字的拼音首字母

    /// <summary>

    /// 在指定的字符串列表CnStr中检索符合拼音索引字符串

    /// </summary>

    /// <param name="CnStr">汉字字符串</param>

    /// <returns>相对应的汉语拼音首字母串</returns>

    public static string GetSpellCode(string CnStr) {

      string strTemp="";

      int iLen=CnStr.Length;

      int i=0;

      for (i=0;i<=iLen-1;i++) {

         strTemp+=GetCharSpellCode(CnStr.Substring(i,1));

      }

      return strTemp;

    }

    /// <summary>

    /// 得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母

    /// </summary>

    /// <param name="CnChar">单个汉字</param>

    /// <returns>单个大写字母</returns>

    private static string GetCharSpellCode(string CnChar) {

      long iCnChar;

      byte[] ZW = System.Text.Encoding.Default.GetBytes(CnChar);

      //如果是字母,则直接返回

      if (ZW.Length==1) {

         return CnChar.ToUpper();

      }

      else {

         // get the array of byte from the single char

        int i1 = (short)(ZW[0]);

        int i2 = (short)(ZW[1]);

        iCnChar = i1*256+i2;

        }  

    // iCnChar match the constant

      if ((iCnChar>=45217) && (iCnChar<=45252)) {

         return "A";

      }

      else if ((iCnChar>=45253) && (iCnChar<=45760)) {

        return "B";

      } else if ((iCnChar>=45761) && (iCnChar<=46317)) {

        return "C";

      } else if ((iCnChar>=46318) && (iCnChar<=46825)) {

        return "D";

      } else if ((iCnChar>=46826) && (iCnChar<=47009)) {

        return "E";

      } else if ((iCnChar>=47010) && (iCnChar<=47296)) {

        return "F";

      } else if ((iCnChar>=47297) && (iCnChar<=47613)) {

        return "G";

      } else if ((iCnChar>=47614) && (iCnChar<=48118)) {

        return "H";

      } else if ((iCnChar>=48119) && (iCnChar<=49061)) {

        return "J";

      } else if ((iCnChar>=49062) && (iCnChar<=49323)) {

        return "K";

      } else if ((iCnChar>=49324) && (iCnChar<=49895)) {

        return "L";

      } else if ((iCnChar>=49896) && (iCnChar<=50370)) {

        return "M";

      }else if ((iCnChar>=50371) && (iCnChar<=50613)) {

        return "N";

      } else if ((iCnChar>=50614) && (iCnChar<=50621)) {

        return "O";

      } else if ((iCnChar>=50622) && (iCnChar<=50905)) {

        return "P";

      } else if ((iCnChar>=50906) && (iCnChar<=51386)) {

        return "Q";

      } else if ((iCnChar>=51387) && (iCnChar<=51445)) {

        return "R";

      } else if ((iCnChar>=51446) && (iCnChar<=52217)) {

        return "S";

      } else if ((iCnChar>=52218) && (iCnChar<=52697)) {

        return "T";

      } else if ((iCnChar>=52698) && (iCnChar<=52979)) {

        return "W";

      } else if ((iCnChar>=52980) && (iCnChar<=53640)) {

        return "X";

      } else if ((iCnChar>=53689) && (iCnChar<=54480)) {

        return "Y";

      } else if ((iCnChar>=54481) && (iCnChar<=55289)) {

        return "Z";

      } else

      return ("?");

    }

  • 相关阅读:
    AD 文档信息设置和制作模板
    用AT命令调试调制解调器
    语音AT命令参考
    传真AT指令部分(参考)
    传真调制解调器
    knockout+weui+zepto
    20171028随手记
    20171027随记
    一些简单又坑人的无聊使用
    ReadWrite,日志,输入文本
  • 原文地址:https://www.cnblogs.com/hefy/p/4598241.html
Copyright © 2011-2022 走看看