Asp.net 汉语生成拼音
时间:2010-11-20 来源:醉眼
这是怎么实现的呢,今天查了相关资料,原来如下:
微软提供了一个Microsoft Visual Studio International Pack 类库软件包,vsintlpack1.zip,(现在好像有VSIPSetup.msi,我没尝试)
其中有一个类库:Simplified Chinese Pin-Yin Conversion Library 支持获取简体中文字符的常用属性
具体操作:
1、vsintlpack1.zip 下载地址为:
http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn
2、下载vsintlpack1.zip后,解压安装其中的CHSPinYinConv.msi,如安装到C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library ,可以看到以下文件。
3、在项目中添加引用,在步骤2安装目录下添加引用ChnCharInfo.dll。
引用成功后如图:
4 、测试方法如下:

private string ConvertToPinYin(string str)
{
string PYstr = "";
foreach (char item in str.ToCharArray())
{
if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
{
Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
//PYstr += string.Join("", cc.Pinyins.ToArray());
PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
}
else
{
PYstr += item.ToString();
}
}
return PYstr;
}
5、我简单的测试了一下,不错(在Textbox1中输入汉字 "张三" ,则生成 拼音 "ZHANGSAN")
protected void Button1_Click(object sender, EventArgs e)
{
string pinying = ConvertToPinYin(this.Textbox1.Text.Trim());
Response.Write(pinying);
}
本人菜鸟,努力学习中
相关阅读 更多 +
排行榜 更多 +