zoukankan      html  css  js  c++  java
  • C# 将汉字转换成拼音

    之前写过一个使用SQL的存储过程和触发器实现的 汉字转换拼音.地址:http://www.cnblogs.com/Capricornus/archive/2010/02/08/1665783.html

    其实C#里面也可以这么做.

    代码
    /// <summary>
    /// 汉字转拼音的缩写字母
    /// </summary>
    /// <param name="str">需转换的汉字字符串</param>
    /// <returns>获得汉字的拼音字符串</returns>
    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;
    }
    /// <summary>
    /// /// Code By MuseStudio@hotmail.com
    /// 2004-11-30
    /// </summary>
    /// <param name="c">要转换的单个汉字</param>
    /// <returns>拼音声母</returns>
    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 "*";
    }

    调用 GetPYString(string str)方法即可.

  • 相关阅读:
    UVa532 Dungeon Master 三维迷宫
    6.4.2 走迷宫
    UVA 439 Knight Moves
    UVa784 Maze Exploration
    UVa657 The die is cast
    UVa572 Oil Deposits DFS求连通块
    UVa10562 Undraw the Trees
    UVa839 Not so Mobile
    327
    UVa699 The Falling Leaves
  • 原文地址:https://www.cnblogs.com/tweet/p/1665860.html
Copyright © 2011-2022 走看看