[100分]求汉字转拼音声母的最佳算法

csShooter 2005-09-06 10:59:56
who的算法好,分就给who!

要求:
(1) 认识率最大化,比如最好能达到认识如"踵zhong"这样的汉字!
(2) 最好能解决部份多音字问题:如"行 xing\hang"..
...全文
289 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
iheshi 2005-10-07
  • 打赏
  • 举报
回复
http://iheshi.cnblogs.com/archive/2005/10/07/249782.html
ybzsu 2005-09-06
  • 打赏
  • 举报
回复
我操
关注!!!

iloveyour 2005-09-06
  • 打赏
  • 举报
回复
还要解决多音字怕是没办法,难
orin_chan 2005-09-06
  • 打赏
  • 举报
回复
up~~~~~
csShooter 2005-09-06
  • 打赏
  • 举报
回复


在线等待..
csShooter 2005-09-06
  • 打赏
  • 举报
回复


jinjazz兄,对自己的代码太不负责了!...受批评哈!
csShooter 2005-09-06
  • 打赏
  • 举报
回复
兄弟们,努力啊!.....

jinjazz兄提供的方法也太老套,问题没解决!
jinjazz 2005-09-06
  • 打赏
  • 举报
回复
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 cnChar;
}
else return cnChar;
}
xamaizi 2005-09-06
  • 打赏
  • 举报
回复
mark!!

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧