C#取得汉字的拼音的首字母

来源:互联网 发布:mac os 删除分区 编辑:程序博客网 时间:2024/04/28 02:52
今天在yyf9989 的 Blog 上看到一篇《C#计算汉语拼音码 》,看了里面的代码,觉得是比较繁琐。它主要是检索输入的汉字在数组中的位置,然后返回第一个字母。于是就想起来了,可以利用汉字在计算机里面的编码来的到汉字的首拼音,查找了一些资料,通过以下的方法成功的得到了解决。就放在这里,请朋友们参考。


static public string GetChineseSpell(string strText)
{
int len = strText.Length;
string myStr = "";
for(int i=0;i<len;i++)
{
myStr += getSpell(strText.Substring(i,1));
}
return myStr;
}


static public string getSpell(string cnChar)
{
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;
}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 扫地机器人坏了怎么办 孩子思维逻辑差怎么办 喜欢动手打别人怎么办 小孩写作文困难怎么办 2岁儿子打人怎么办 三岁宝宝爱咬人怎么办 幼儿园小孩咬人怎么办 孩子不会动手打人怎么办 小孩子隔奶奶涨怎么办 小孩子戒奶奶涨怎么办 孩子总打别人怎么办 儿童在学校打人怎么办 两岁儿童打人怎么办 孩子哭闹要东西怎么办 高中孩子爱打架怎么办 宝宝性格太弱怎么办 宝宝太老实了怎么办 一岁多宝宝爱打人怎么办 一岁半宝宝爱打人怎么办 两岁半宝宝喜欢打人怎么办 孩子总是挨欺负怎么办 一年级孩子爱打架怎么办 孩子没规矩家长怎么办 小朋友在幼儿园打人怎么办 幼儿园小朋友喜欢打人怎么办 三周岁宝宝爱哭怎么办 2周岁宝宝爱哭怎么办 一个月宝宝爱哭怎么办 2岁宝宝爱哭怎么办 三岁小朋友打人怎么办 一岁半小朋友喜欢打人怎么办 爷爷偏心我该怎么办 冲动型学生老师怎么办 两个宝宝争东西怎么办 2周岁宝宝打人怎么办 小孩幼儿园被打怎么办 小孩喝了润滑油怎么办 孩子被打了怎么办 宝宝吃了指甲油怎么办 孩子掉了深海怎么办 小孩打了别人怎么办