输入汉字字符串索引拼音的首字母

在做项目的时候,输入客户的名字,为了方便索引汉字字符串的拼音首字母,作助记码,于是到网上找了一下,还好,有个单个汉字的处理!
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace WinMarket
{
    
/// <summary>
    
/// Classfun 的摘要说明。
    
/// </summary>
    public class Classfun
    {
        
private string Capstr;

        
public Classfun()
        {
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
        }
        
public string ChineseCap(string ChineseStr)
        {


            
byte[] ZW = new byte[2];
            
long ChineseStr_int;
            
string CharStr, ChinaStr = "";
            
for (int i = 0; i <= ChineseStr.Length - 1; i++)
            {
                CharStr 
= ChineseStr.Substring(i, 1).ToString();
                ZW 
= System.Text.Encoding.Default.GetBytes(CharStr);
                
// 得到汉字符的字节数组
                if (ZW.Length == 2)
                {
                    
int i1 = (short)(ZW[0]);
                    
int i2 = (short)(ZW[1]);
                    ChineseStr_int 
= i1 * 256 + i2;
                    
//table of the constant list
                    
// 'A'; //45217..45252
                    
// 'B'; //45253..45760
                    
// 'C'; //45761..46317
                    
// 'D'; //46318..46825
                    
// 'E'; //46826..47009
                    
// 'F'; //47010..47296
                    
// 'G'; //47297..47613

                    
// 'H'; //47614..48118
                    
// 'J'; //48119..49061
                    
// 'K'; //49062..49323
                    
// 'L'; //49324..49895
                    
// 'M'; //49896..50370
                    
// 'N'; //50371..50613
                    
// 'O'; //50614..50621
                    
// 'P'; //50622..50905
                    
// 'Q'; //50906..51386

                    
// 'R'; //51387..51445
                    
// 'S'; //51446..52217
                    
// 'T'; //52218..52697
                    
//没有U,V
                    
// 'W'; //52698..52979
                    
// 'X'; //52980..53640
                    
// 'Y'; //53689..54480
                    
// 'Z'; //54481..55289

                    
if ((ChineseStr_int >= 45217&& (ChineseStr_int <= 45252))
                    {
                        ChinaStr 
= "A";
                    }
                    
else if ((ChineseStr_int >= 45253&& (ChineseStr_int <= 45760))
                    {
                        ChinaStr 
= "B";
                    }
                    
else if ((ChineseStr_int >= 45761&& (ChineseStr_int <= 46317))
                    {
                        ChinaStr 
= "C";

                    }
                    
else if ((ChineseStr_int >= 46318&& (ChineseStr_int <= 46825))
                    {
                        ChinaStr 
= "D";
                    }
                    
else if ((ChineseStr_int >= 46826&& (ChineseStr_int <= 47009))
                    {
                        ChinaStr 
= "E";
                    }
                    
else if ((ChineseStr_int >= 47010&& (ChineseStr_int <= 47296))
                    {
                        ChinaStr 
= "F";
                    }
                    
else if ((ChineseStr_int >= 47297&& (ChineseStr_int <= 47613))
                    {
                        ChinaStr 
= "G";
                    }
                    
else if ((ChineseStr_int >= 47614&& (ChineseStr_int <= 48118))
                    {

                        ChinaStr 
= "H";
                    }

                    
else if ((ChineseStr_int >= 48119&& (ChineseStr_int <= 49061))
                    {
                        ChinaStr 
= "J";
                    }
                    
else if ((ChineseStr_int >= 49062&& (ChineseStr_int <= 49323))
                    {
                        ChinaStr 
= "K";
                    }
                    
else if ((ChineseStr_int >= 49324&& (ChineseStr_int <= 49895))
                    {
                        ChinaStr 
= "L";
                    }
                    
else if ((ChineseStr_int >= 49896&& (ChineseStr_int <= 50370))
                    {
                        ChinaStr 
= "M";
                    }

                    
else if ((ChineseStr_int >= 50371&& (ChineseStr_int <= 50613))
                    {
                        ChinaStr 
= "N";

                    }
                    
else if ((ChineseStr_int >= 50614&& (ChineseStr_int <= 50621))
                    {
                        ChinaStr 
= "O";
                    }
                    
else if ((ChineseStr_int >= 50622&& (ChineseStr_int <= 50905))
                    {
                        ChinaStr 
= "P";

                    }
                    
else if ((ChineseStr_int >= 50906&& (ChineseStr_int <= 51386))
                    {
                        ChinaStr 
= "Q";

                    }

                    
else if ((ChineseStr_int >= 51387&& (ChineseStr_int <= 51445))
                    {
                        ChinaStr 
= "R";
                    }
                    
else if ((ChineseStr_int >= 51446&& (ChineseStr_int <= 52217))
                    {
                        ChinaStr 
= "S";
                    }
                    
else if ((ChineseStr_int >= 52218&& (ChineseStr_int <= 52697))
                    {
                        ChinaStr 
= "T";
                    }
                    
else if ((ChineseStr_int >= 52698&& (ChineseStr_int <= 52979))
                    {
                        ChinaStr 
= "W";
                    }
                    
else if ((ChineseStr_int >= 52980&& (ChineseStr_int <= 53640))
                    {
                        ChinaStr 
= "X";
                    }
                    
else if ((ChineseStr_int >= 53689&& (ChineseStr_int <= 54480))
                    {
                        ChinaStr 
= "Y";
                    }
                    
else if ((ChineseStr_int >= 54481&& (ChineseStr_int <= 55289))
                    {
                        ChinaStr 
= "Z";
                    }

                }
                
else
                {
                    Capstr 
= ChineseStr;
                    
break;
                }

                Capstr 
= Capstr + ChinaStr;
            }



            
return Capstr;

        }


    }
}

posted on 2007-08-16 21:49  kyovcs  阅读(314)  评论(0编辑  收藏  举报

导航