c# 生成拼音输入码

来源:互联网 发布:新网域名管理密码忘记 编辑:程序博客网 时间:2024/06/06 02:26
class GetPYString{    public static string GetPYString1(string str)    {        string tempStr = "";        foreach (char c in str)        {            if ((int)c >= 33 && (int)c <= 126)            {//字母和符号原样保留                tempStr += c.ToString();            }            else            {//累加拼音声母                tempStr += GetPYChar1(c.ToString());            }        }        return tempStr;    }    /// <summary>    /// 取单个字符的拼音声母    /// Code By MuseStudio@hotmail.com    /// 2004-11-30    /// </summary>    /// <param name="c">要转换的单个汉字</param>    /// <returns>拼音声母</returns>    public static string GetPYChar1(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 "j";        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 "*";    }}



转载自:http://bbs.csdn.net/topics/310009123

源地址无法找到。

0 0
原创粉丝点击