【C#】输入汉字字符串索引拼音的首字母

作者:网络 来源:佚名 更新时间:2008-11-23 17:18:57 点击:
在做项目的时候,输入客户的名字,为了方便索引汉字字符串的拼音首字母,作助记码,于是到网上找了一下,还好,有个单个汉字的处理!为了答谢该网友!为了以后的网友,我做了汉字字符串的处理!
还请各位网友指教[email protected]
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;

}


}
}

最大的网站源码资源下载站,