C# 应用微软的Visual Studio International Pack 类库提取汉字拼音首字母[转]
本文转自:http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html
昨天经过网友提示,提取汉字拼音的办法可以应用微软的一个类库 Visual Studio International Pack ,今天试了一试,确切好用!下面分享下应用办法:
起首下载Visual Studio International Pack 1.0,官方下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10&displaylang=zh-cn。下载完毕后解压,解压后可以发明7个MSI安装文件,此中CHSPinYinConv.msi是汉字拼音组件,CHTCHSConv.msi是进行繁简体互转组件,安装这两个MSI就可以了 (x86操纵体系上的默认安装目次是 C:\Program Files\Microsoft Visual Studio International Pack\) 。安装完毕后,须要在VS里添加引用,分别引用:C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library(拼音)下和C:\Program Files\Microsoft Visual Studio International Pack\Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool(繁简互转)下的dll 即可应用。
完成上方的工作后,应用办法就很是简单了,下面看代码:
namespace WebApplication2
{
public class Class1
{
/// <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;
}
}
}
调用办法:(重视先引用)
GetPinyin("风影");//获取全拼
GetFirstPinyin("风影");//获取首字母
是不是很是简单呢?有了这个类库就省事多了!趁便再补充一下繁简体互转的办法,某些时辰可能会用到:
先导入
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
/// 简体转换为繁体
/// </summary>
/// <param name="str">简体字</param>
/// <returns>繁体字</returns>
public static string GetTraditional(string str)
{
string r = string.Empty;
r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);
return r;
}
/// <summary>
/// 繁体转换为简体
/// </summary>
/// <param name="str">繁体字</param>
/// <returns>简体字</returns>
public static string GetSimplified(string str)
{
string r = string.Empty;
r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);
return r;
}
该类库的功能概述
Microsoft Visual Studio International Pack 1.0版 包含以下功能:
- East Asia Numeric Formatting Library - 支撑将小写的数字字符串格局化成简体中文,繁体中文,日文和韩文的大写数字字符串。
- Japanese Kana Conversion Library - 支撑将日文化名(Kana)转化为另一种日文字符。
- Japanese Text Alignment Library - 支撑日文特有的一种对齐格局。
- Japanese Yomi Auto-Completion Library - 类库支撑感知日文输入法的输入主动完成和一个文本框控件的示例。
- Korean Auto Complete TextBox Control - 支撑韩文输入法的智能感知和输入主动完成的文本框控件。
- Simplified Chinese Pin-Yin Conversion Library - 支撑获取简体中文字符的常用属性比如拼音,多音字,同音字,笔画数。
- Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool - 支撑简繁体中文之间的转换。该组件还包含一个Visual Studio集成开辟景象中的插件(Add-in)支撑简繁体中文资料文件之间的转换。
Visual Studio International Feature Pack 2.0 是对 1.0 版本的扩大,包含一组控件和类库:
- Yomigana Framework 包含了类库和控件。
- 类库:Yomigana 类库容许对串(string)类型加注 Yomigana,同时也支撑对一般类型的注解功能,任何实现了IEnumerable接口的对象都可以被串类型和泛型的实例注解。为了简化错杂的注解字符串斗劲特设计了支撑各类日文斗劲选项的斗劲类型。
- 通用的一些类,用泛型实现对一个可列举的类型注音。
- 特别目标的一些类,用以上泛型实现对一个字符串用某种类型中注音。
- 特别目标的一些StringAnnotation 类,用以上泛型实现对一个字符串用字符串注音,包含解析和格局化功能。
- 一个斗劲器类,应用以上类实现斗劲字符串。
- 一个实现了 IEnumerable <string> 的数据布局,把一个字符串分成列举的字符串段,并用 IEnumerator <string> 输出。
- 控件:
- 加强的Ajax/WPF/WinForm 文本框(TextBox)控件 用来按照用户的输入捕获读音。
- 一个加强的应用Ruby标签的ASP.NET Label控件。
- 类库:Yomigana 类库容许对串(string)类型加注 Yomigana,同时也支撑对一般类型的注解功能,任何实现了IEnumerable接口的对象都可以被串类型和泛型的实例注解。为了简化错杂的注解字符串斗劲特设计了支撑各类日文斗劲选项的斗劲类型。
- Chinese Text Alignment Class Library and TextBox Controls 包含支撑简体中文文本对齐的WinForm 和 WPF 的TextBox控件, 以及供帮助开辟人员很轻易地按中文文本对齐显示字符串的一个类库。
- Chinese Auto Complete Class Library and TextBox Controls 包含支撑感知简体中文和繁体中文输入法并主动完成的WinForm 和 WPF 的TextBox控件, 以及供开辟人员很轻易地向标准控件添加感知输入法并主动完成功能的一个类库。
- Korean Auto Complete Class Library and ComboBox Controls 包含支撑感知韩语输入法并主动完成的WinForm 和 WPF 的ComboBox控件, 以及供开辟人员很轻易地向标准控件添加感知输入法并主动完成功能的一个类库。
- Numeric Formatting Class Library 包含支撑五种说话的数字格局化成文字的类, 2.0 版支撑格局化阿拉伯数字为阿拉伯文字。
可见,这个类库在开辟国际化法度时是很是实用的。 - Yomigana Framework 包含了类库和控件。