您的位置:首页 > 编程语言 > C#

C#获取汉字首字母

2012-05-18 15:56 253 查看
//这个方法是用来获得一个字符串的每个字的拼音首字母组成所需的字符串

public static string GetChineseSpell(string strText)

{

int len = strText.Length;

StringBuilder myStr = new StringBuilder("");

for (int i = 0; i < len; i++)

{

myStr.Append(getSpell(strText.Substring(i, 1)));

}

return myStr.ToString();

}

//用来获得一个字的拼音首字母

private static string getSpell(string cnChar)

{

//将汉字转化为ASNI码,二进制序列

byte[] arrCN = Encoding.Default.GetBytes(cnChar);

if (arrCN.Length > 1)

{

int area = (short)arrCN[0];

int pos = (short)arrCN[1];

int code = (area << 8) + pos;

int[] areacode = {45217,45253,45761,46318,46826,47010,47297,47614,48119,48119,49062, 49324,

49896,50371,50614,50622,50906,51387,51446,52218,52698,52698,52698,52980,53689, 54481};

for (int i = 0; i < 26; i++)

{

int max = 55290;

if (i != 25) max = areacode[i + 1];

if (areacode[i] <= code && code < max)

{

return Encoding.Default.GetString(new byte[] { (byte)(65 + i) });

}

}

return "*";

}

else return cnChar;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: