如何将汉字转成拼音首字母?
如何将汉字转成拼音首字母?
在做公交查询系统时,要求用户输入起点和终点。可是如果用户输错了,自己要判断,很麻烦,因为我的算法全是SQL。于是就想了一种折衷的方案:让用户从DropDownList里眩这样既方便了用户,也方便了自己。
可是,如果全部站点放入一个DropDownList的话,太多了(我这个济南的有一千多个啊),所以就先选择汉字的拼音首字母,再选择站点,实验证明很方便,速度很快!
这里用到了一个汉字转拼音的函数:
staticstringExtract_HZ(stringHZ)
{
byte[]ZW=newbyte[2];
longHZ_INT;
ZW=System.Text.Encoding.Default.GetBytes(HZ);//getthearrayofbytefromthesinglechar
inti1=(short)(ZW[0]);
inti2=(short)(ZW[1]);
HZ_INT=i1*256+i2;//expresstion
//HZ_INTmatchtheconstant
if((HZ_INT>=45217)&&(HZ_INT<=45252))
{
return"A";
}
if((HZ_INT>=45253)&&(HZ_INT<=45760))
{
return"B";
}
if((HZ_INT>=45761)&&(HZ_INT<=46317))
{
return"C";
}
if((HZ_INT>=46318)&&(HZ_INT<=46825))
{
return"D";
}
if((HZ_INT>=46826)&&(HZ_INT<=47009))
{
return"E";
}
if((HZ_INT>=47010)&&(HZ_INT<=47296))
{
return"F";
}
if((HZ_INT>=47297)&&(HZ_INT<=47613))
{
return"G";
}
//**************************
if((HZ_INT>=47614)&&(HZ_INT<=48118))
{
//MessageBox.Show("H");
return"H";
}
if((HZ_INT>=48119)&&(HZ_INT<=49061))
{
return"J";
}
if((HZ_INT>=49062)&&(HZ_INT<=49323))
{
return"K";
}
if((HZ_INT>=49324)&&(HZ_INT<=49895))
{
return"L";
}
if((HZ_INT>=49896)&&(HZ_INT<=50370))
{
return"M";
}
if((HZ_INT>=50371)&&(HZ_INT<=50613))
{
return"N";
}
if((HZ_INT>=50614)&&(HZ_INT<=50621))
{
return"O";
}
if((HZ_INT>=50622)&&(HZ_INT<=50905))
{
return"P";
}
if((HZ_INT>=50906)&&(HZ_INT<=51386))
{
return"Q";
}
//*********************
if((HZ_INT>=51387)&&(HZ_INT<=51445))
{
return"R";
}
if((HZ_INT>=51446)&&(HZ_INT<=52217))
{
return"S";
}
if((HZ_INT>=52218)&&(HZ_INT<=52697))
{
return"T";
}
if((HZ_INT>=52698)&&(HZ_INT<=52979))
{
return"W";
}
if((HZ_INT>=52980)&&(HZ_INT<=53640))
{
return"X";
}
if((HZ_INT>=53689)&&(HZ_INT<=54480))
{
return"Y";
}
if((HZ_INT>=54481)&&(HZ_INT<=55289))
{
return"Z";
}
return("");
}
{
byte[]ZW=newbyte[2];
longHZ_INT;
ZW=System.Text.Encoding.Default.GetBytes(HZ);//getthearrayofbytefromthesinglechar
inti1=(short)(ZW[0]);
inti2=(short)(ZW[1]);
HZ_INT=i1*256+i2;//expresstion
//HZ_INTmatchtheconstant
if((HZ_INT>=45217)&&(HZ_INT<=45252))
{
return"A";
}
if((HZ_INT>=45253)&&(HZ_INT<=45760))
{
return"B";
}
if((HZ_INT>=45761)&&(HZ_INT<=46317))
{
return"C";
}
if((HZ_INT>=46318)&&(HZ_INT<=46825))
{
return"D";
}
if((HZ_INT>=46826)&&(HZ_INT<=47009))
{
return"E";
}
if((HZ_INT>=47010)&&(HZ_INT<=47296))
{
return"F";
}
if((HZ_INT>=47297)&&(HZ_INT<=47613))
{
return"G";
}
//**************************
if((HZ_INT>=47614)&&(HZ_INT<=48118))
{
//MessageBox.Show("H");
return"H";
}
if((HZ_INT>=48119)&&(HZ_INT<=49061))
{
return"J";
}
if((HZ_INT>=49062)&&(HZ_INT<=49323))
{
return"K";
}
if((HZ_INT>=49324)&&(HZ_INT<=49895))
{
return"L";
}
if((HZ_INT>=49896)&&(HZ_INT<=50370))
{
return"M";
}
if((HZ_INT>=50371)&&(HZ_INT<=50613))
{
return"N";
}
if((HZ_INT>=50614)&&(HZ_INT<=50621))
{
return"O";
}
if((HZ_INT>=50622)&&(HZ_INT<=50905))
{
return"P";
}
if((HZ_INT>=50906)&&(HZ_INT<=51386))
{
return"Q";
}
//*********************
if((HZ_INT>=51387)&&(HZ_INT<=51445))
{
return"R";
}
if((HZ_INT>=51446)&&(HZ_INT<=52217))
{
return"S";
}
if((HZ_INT>=52218)&&(HZ_INT<=52697))
{
return"T";
}
if((HZ_INT>=52698)&&(HZ_INT<=52979))
{
return"W";
}
if((HZ_INT>=52980)&&(HZ_INT<=53640))
{
return"X";
}
if((HZ_INT>=53689)&&(HZ_INT<=54480))
{
return"Y";
}
if((HZ_INT>=54481)&&(HZ_INT<=55289))
{
return"Z";
}
return("");
}