zoukankan      html  css  js  c++  java
  • C# 获取汉字转拼音缩写-简写,不是全拼

    ///<summary>

           
    /// 汉字转拼音缩写

           
    /// Code By
           
    /// 2004-11-30

           
    ///</summary>

           
    ///<param name="str">要转换的汉字字符串</param>

           
    ///<returns>拼音缩写</returns>

            publicstring 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;

            }

           
    ///<summary>

           
    /// 取单个字符的拼音声母

           
    /// Code By

           
    /// 2004-11-30

           
    ///</summary>

           
    ///<param name="c">要转换的单个汉字</param>

           
    ///<returns>拼音声母</returns>

            publicstring GetPYChar(string c)

            {

               
    byte[] array =newbyte[2];

                array
    = System.Text.Encoding.Default.GetBytes(c);

               
    int i = (short)(array[0] -'') *256+ ((short)(array[1] -''));

               
    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"*";

            }

  • 相关阅读:
    Dll版本管理
    线程池ThreadPool
    关于sitemesh和freemark在struts2中的一些问题总结
    Google 怎么搜索
    android 设计模式
    android webview
    ios 基础数据类型
    android 常用
    android Handler vs Timer
    网站
  • 原文地址:https://www.cnblogs.com/lujin49/p/3450252.html
Copyright © 2011-2022 走看看