• C#获取拼音简码


    代码
    /// <summary>
    /// 生成拼音简码 /// </summary>
    /// <param name="unicodeString">Unicode编码字符串</param>
    /// <returns>拼音简码:string</returns>
    public static string GetPinyinCode(string unicodeString)
    {
    int i = 0;
    ushort key = 0;
    string strResult = string.Empty;

    //创建两个不同的encoding对象
    Encoding unicode = Encoding.Unicode;
    //创建GBK码对象
    Encoding gbk = Encoding.GetEncoding(936);
    //将unicode字符串转换为字节
    byte[] unicodeBytes = unicode.GetBytes(unicodeString);
    //再转化为GBK码
    byte[] gbkBytes = Encoding.Convert(unicode, gbk, unicodeBytes);
    while (i < gbkBytes.Length)
    {
    //如果为数字\字母\其他ASCII符号
    if (gbkBytes[i] <= 127)
    {
    strResult
    = strResult + (char)gbkBytes[i];
    i
    ++;
    }
    #region 否则生成汉字拼音简码,取拼音首字母
    else
    {

    key
    = (ushort)(gbkBytes[i] * 256 + gbkBytes[i + 1]);
    if (key >= '\uB0A1' && key <= '\uB0C4')
    {
    strResult
    = strResult + "A";
    }
    else if (key >= '\uB0C5' && key <= '\uB2C0')
    {
    strResult
    = strResult + "B";
    }
    else if (key >= '\uB2C1' && key <= '\uB4ED')
    {
    strResult
    = strResult + "C";
    }
    else if (key >= '\uB4EE' && key <= '\uB6E9')
    {
    strResult
    = strResult + "D";
    }
    else if (key >= '\uB6EA' && key <= '\uB7A1')
    {
    strResult
    = strResult + "E";
    }
    else if (key >= '\uB7A2' && key <= '\uB8C0')
    {
    strResult
    = strResult + "F";
    }
    else if (key >= '\uB8C1' && key <= '\uB9FD')
    {
    strResult
    = strResult + "G";
    }
    else if (key >= '\uB9FE' && key <= '\uBBF6')
    {
    strResult
    = strResult + "H";
    }
    else if (key >= '\uBBF7' && key <= '\uBFA5')
    {
    strResult
    = strResult + "J";
    }
    else if (key >= '\uBFA6' && key <= '\uC0AB')
    {
    strResult
    = strResult + "K";
    }
    else if (key >= '\uC0AC' && key <= '\uC2E7')
    {
    strResult
    = strResult + "L";
    }
    else if (key >= '\uC2E8' && key <= '\uC4C2')
    {
    strResult
    = strResult + "M";
    }
    else if (key >= '\uC4C3' && key <= '\uC5B5')
    {
    strResult
    = strResult + "N";
    }
    else if (key >= '\uC5B6' && key <= '\uC5BD')
    {
    strResult
    = strResult + "O";
    }
    else if (key >= '\uC5BE' && key <= '\uC6D9')
    {
    strResult
    = strResult + "P";
    }
    else if (key >= '\uC6DA' && key <= '\uC8BA')
    {
    strResult
    = strResult + "Q";
    }
    else if (key >= '\uC8BB' && key <= '\uC8F5')
    {
    strResult
    = strResult + "R";
    }
    else if (key >= '\uC8F6' && key <= '\uCBF9')
    {
    strResult
    = strResult + "S";
    }
    else if (key >= '\uCBFA' && key <= '\uCDD9')
    {
    strResult
    = strResult + "T";
    }
    else if (key >= '\uCDDA' && key <= '\uCEF3')
    {
    strResult
    = strResult + "W";
    }
    else if (key >= '\uCEF4' && key <= '\uD188')
    {
    strResult
    = strResult + "X";
    }
    else if (key >= '\uD1B9' && key <= '\uD4D0')
    {
    strResult
    = strResult + "Y";
    }
    else if (key >= '\uD4D1' && key <= '\uD7F9')
    {
    strResult
    = strResult + "Z";
    }
    else
    {
    strResult
    = strResult + "?";
    }
    i
    = i + 2;
    }
    #endregion
    }
    //end while

    return strResult;
    }
  • 相关阅读:
    字符串练习
    python基础
    熟悉常用的Linux操作
    大数据概述
    递归下降分析程序
    自动机
    词法语法分析1
    关于我对编译原理的理解
    6小时学会TypeScript入门实战教程(大地)
    kotlin
  • 原文地址:https://www.cnblogs.com/geass/p/1923746.html
Copyright © 2020-2023  润新知