C# 使用微软的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 即可使用。
完成上面的工作后,使用方法就非常简单了,下面看代码:
using Microsoft.International.Converters.PinYinConverter;//导入拼音相关
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>
/// 简体转换为繁体
/// </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控件。
- 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 版支持格式化阿拉伯数字为阿拉伯文字。
可见,这个类库在开发国际化程序时是非常实用的。
C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母的更多相关文章
- C# 汉字转拼音 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
代码参考该文http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html VS2015版本 1.使用Nuget 安装 "Simp ...
- 通过反射实现Microsoft Visual Studio International Pack 1.0 SR1里面的两个类
这两天打算实现拼音和简繁转换的方法, 发现Microsoft Visual Studio International Pack 1.0 SR1 提供了 . 下载地址 但是基于某些原因, 一来下载 ...
- 利用微软类库 Visual Studio International Pack 汉字转拼音
首先,从微软官网下载安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2 ...
- Microsoft Visual Studio International Pack 1.0 SR1--关于汉字转拼音
Microsoft Visual Studio International Pack 1.0 SR1————微软的一个类库 地址:http://www.microsoft.com/zh-cn/down ...
- Microsoft Visual Studio International Pack
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...
- 微软正式发布Visual Studio 2013 Update 3 (2013.3) RTM
昨天微软的Visual Studio 2013 Update 3(Visual Studio 2013.3)正式发布(RTM)了,做为微软认证金牌合作的葡萄城控件,我们组织力量第一时间进行翻译.分享给 ...
- 微软加速Visual Studio和Azure DevOps 云升级
在 2018 微软技术暨生态大会(Microsoft Tech Summit)上,微软宣布围绕 Visual Studio 和 Visual Studio Code 开发平台提供一系列新功能与服务,并 ...
- 新工具︱微软Microsoft Visual Studio的R语言模块下载试用Ing...(尝鲜)
笔者:前几天看到了以下的图片,着实一惊.作为R语言入门小菜鸟,还是觉得很好看,于是花了一点时间下载下来试用了一下,觉得还是挺高大上的. 就是英文不好是硬伤.下面贴给小白,我当时的下载步骤与遇见的问题. ...
- 微软为Visual Studio开发助手拓展C++支持
近日,微软宣布了一项 Visual Studio“开发助手”(Developer Assistant)插件的重大更新,其现已支持“基于 C++ 的情境感知 web 解决方案”.开发助手能够嵌入 Vis ...
随机推荐
- 安装Android SDK时,点击SDK Manager.exe闪退,并且jdk的环境变量是对的。
前提:我的jdk的环境变量是正确的,同时我的jdk还是1.7应该不是版本太低的原因,同时这个压缩文件是好的,我在其他的电脑上可以运行SDK Manager.exe. 点击SDK Manager.exe ...
- mybatis+spring+struts2框架整合
近期公司要开发新的项目,要用struts2+mybatis+spring框架,所以学习了下,来自己的博客发表下,希望能给大家带来帮助!下边我把我的myschool开发的源代码以及数据库贴出来! 开 ...
- hdu 3068(最长回文)
题意:容易理解... 思路:可以用扩展kmp来做,但是我还没怎么弄懂,时间复杂度O(n*logn),而manacher算法,第一次听说,代码比较短,不难理解,和扩展kmp有点类似,时间复杂度为:O(n ...
- 【LeetCode 209】Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarra ...
- 为Fitnesse-20140630定制RestFixture代码
摘要:Fitnesse插件RestFixture在最新版Fitnesse输出测试结果为html文本,而非html.本博文记录RestFixture定制代码的过程. 准备开发环境 假定你已经正确安装JD ...
- Java连接Oracle10g
1.导入驱动包: a.找到oracle安装目录下的jdbc/lib中的文件classes12.jar: b.右击你创建的JAVA工程,找到Build path,选择Add External Archi ...
- dbms_file_transfer使用简介
dbms_file_transfer这个包可以在两个位置传输文件,分别可以有以下位置: a 从一个asm diskgroup传输到另外一个asm diskgroup b 从一个asm diskgrou ...
- oracle文件管理OMF
OMF是为了简化对数据文件的管理,靠参数DB_CREATE_FILE_DEST实现: 如果定义了DB_CREATE_FILE_DEST,则创建表空间就不需要制定数据文件位置.文件名称,数据文件会按照固 ...
- 多校5 HDU5787 K-wolf Number 数位DP
// 多校5 HDU5787 K-wolf Number 数位DP // dp[pos][a][b][c][d][f] 当前在pos,前四个数分别是a b c d // f 用作标记,当现在枚举的数小 ...
- <Chapter 2>2-2.开发应用(developing the Application)
一个App Engine应用对网络请求做出响应.它是通过调用请求处理器(quest handlers)来实现的,接受请求参数并返回响应的程序.对于来自请求URL上的请求,App Engine通过一个配 ...