asp.net 自动将汉字转换成拼音第一个字母
程序员文章站
2024-03-11 22:20:19
/// /// 把汉字转换成拼音第一个字母 /// ///
/// <summary>
/// 把汉字转换成拼音第一个字母
/// </summary>
/// <param name="chinesestr"></param>
/// <returns></returns>
private string chinesecap(string chinesestr)
{
string capstr="";
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;
#region 参数
//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
#endregion
#region 判断
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";
}
#endregion
}
else
{
capstr=chinesestr;
break;
}
capstr=capstr+chinastr;
}
return capstr;
}
/// 把汉字转换成拼音第一个字母
/// </summary>
/// <param name="chinesestr"></param>
/// <returns></returns>
private string chinesecap(string chinesestr)
{
string capstr="";
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;
#region 参数
//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
#endregion
#region 判断
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";
}
#endregion
}
else
{
capstr=chinesestr;
break;
}
capstr=capstr+chinastr;
}
return capstr;
}