【转载】C#输入汉字字符串索引拼音的首字母
在做项目的时候,输入客户的名字,为了方便索引汉字字符串的拼音首字母,作助记码,于是到网上找了一下,还好,有个单个汉字的处理!为了答谢该网友!为了以后的网友,我做了汉字字符串的处理!
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;
}
}
}
浙公网安备 33010602011771号