手机
当前位置:查字典教程网 >编程开发 >asp.net教程 >ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现
ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现
摘要:前不久看到有的朋友实现对商品名称拼音的录入,发现他的实现方式是手动输入的,—_—#、同志们,福利来了!微软为了开发者实现国际化语言的互转,提...

前不久看到有的朋友实现对商品名称拼音的录入,发现他的实现方式是手动输入的,—_—#、同志们,福利来了!

微软为了开发者实现国际化语言的互转,提供了Microsoft Visual Studio International Pack,这个扩展包里面有中文、日文、韩文、英语等各国语言包,并提供方法实现互转、获取拼音、获取字数、甚至获取笔画数等等。

在这里示例讲的是输入汉字,获取其拼音,获取拼音和获取拼音首字母实现效果分别如下:

ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现1

首先,去微软官网下载Microsoft Visual Studio International Pack语言包,下载地址分别如下:

Microsoft Visual Studio International Pack 1.0 SR1

Microsoft Visual Studio International Feature Pack 2.0

下载后分别是“vsintlpack1.zip”、“Vsintlpack2.msi”、双击“Vsintlpack2.msi”安装、路径随意、但是要记得、因为一会要引用的、

安装“Vsintlpack2.msi”之后、解压“vsintlpack1.zip”、里面包含七个语言包、

例如中文转拼音“CHSPinYinConv.msi”、简体繁体互转“CHTCHSConv.msi”等等。。

在这里我们用到的是“CHSPinYinConv.msi”、双击安装成功后、打开Visual Studio、新建一个WinForm项目、窗体布局如上图所示、

首先:添加刚刚安装的语言包引用:

“D:Program Files (x86)Microsoft Visual Studio International PackSimplified Chinese Pin-Yin Conversion LibraryChnCharInfo.dll”

默认是C盘、在这里我安装在D盘了,然后添加using引用:

复制代码 代码如下:

using Microsoft.International.Converters.PinYinConverter;//导入拼音相关

创建获取拼音的方法:

复制代码 代码如下:

/// <summary>

/// 汉字转化为拼音

/// </summary>

/// <param name="str">汉字</param>

/// <returns>全拼</returns>

public static string GetPinyin(string str)

{

string r = string.Empty;

foreach (char obj in str)

{

try

{

ChineseChar chineseChar = new ChineseChar(obj);

string t = chineseChar.Pinyins[0].ToString();

r += t.Substring(0, t.Length - 1);

}

catch

{

r += obj.ToString();

}

}

return r;

}

创建获取汉字拼音首字母的方法:

复制代码 代码如下:

/// <summary>

/// 汉字转化为拼音首字母

/// </summary>

/// <param name="str">汉字</param>

/// <returns>首字母</returns>

public static string GetFirstPinyin(string str)

{

string r = string.Empty;

foreach (char obj in str)

{

try

{

ChineseChar chineseChar = new ChineseChar(obj);

string t = chineseChar.Pinyins[0].ToString();

r += t.Substring(0, 1);

}

catch

{

r += obj.ToString();

}

}

return r;

}

然后在“转拼音”按钮的点击事件中调用上述方法:

复制代码 代码如下:

// 汉字转拼音

private void btn_One_Click(object sender, EventArgs e)

{

string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符

string result = GetPinyin(source); // 调用方法,获取拼音

this.txt_Pinyin_One.Text = result;

}

在“转首字母”按钮点击事件中调用上述方法:

复制代码 代码如下:

// 转首字母

private void btn_Two_Click(object sender, EventArgs e)

{

string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符

string result = GetFirstPinyin(source); // 调用方法,获取拼音

this.txt_Pinyin_One.Text = result;

}

到此,已经完成了80%,运行程序,你会发现,当点击“转拼音”的时候,结果是这样子的:

ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现2

并不是我开始说的那种“Gu Ying”的效果啊、这是因为我在获取拼音的时候简单的处理了一下:

复制代码 代码如下:

// 汉字转拼音

private void btn_One_Click(object sender, EventArgs e)

{

string source = this.txt_ChineseCharacter_One.Text.Trim(); // 得到输入的源字符

string result = string.Empty; // 转拼音的结果

string temp = string.Empty; // 下面foreach用到的临时变量

foreach (char item in source) // 遍历每个源字符

{

temp = GetPinyin(item.ToString()); // 将每个字符转拼音

// 处理:获取首字母大写、其余字母小写

result += (String.Format("{0}{1} ", temp.Substring(0, 1).ToUpper(), temp.Substring(1).ToLower()));

}

//string result = GetPinyin(source); // 调用方法,获取拼音

this.txt_Pinyin_One.Text = result;

}

OK、到此、这个功能已经实现完成了,还有其余的语言包功能,和此类似,大家可以百度“Microsoft Visual Studio International Pack使用”、各种语言之间的互转及功能示例就出来了。

【ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现】相关文章:

ASP.NET动态加载用户控件的实现方法

ASP.NET MVC中将控制器分离到类库的实现

ASP.NET抓取网页内容的实现方法

asp.net汉字转拼音和获取汉字首字母的代码

ASP.net中获取客户端参数操作系统信息

asp.net后台弹窗如何实现

.net中发送邮件内容嵌入图片的具体实例

asp.net 自动将汉字转换成拼音第一个字母

用存储过程向数据库存值的具体实现

ASP.NET中实现模板页

精品推荐
分类导航