昨天经过网友提醒,提取汉字拼音的方法可以使用微软的一个类库 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 版支持格式化阿拉伯数字为阿拉伯文字。

    可见,这个类库在开发国际化程序时是非常实用的。

转载于:https://www.cnblogs.com/wmlunge/archive/2012/12/06/2805488.html

C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母相关推荐

  1. C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母 转

    C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母 提取汉字拼音的方法可以使用微软的一个类库 Visual Studio Internationa ...

  2. [C#][转载]C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母

    昨天经过网友提醒,提取汉字拼音的方法可以使用微软的一个类库 Visual Studio International Pack ,今天试了一试,确实好用!下面分享下使用方法: 首先下载Visual St ...

  3. C# 应用微软的Visual Studio International Pack 类库提取汉字拼音首字母[转]

    本文转自:http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html 昨天经过网友提示,提取汉字拼音的办法可以应用微软的一个类库 Vis ...

  4. C# 汉字转拼音 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母...

    代码参考该文 http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html VS2015版本 1.使用Nuget 安装 "Sim ...

  5. 使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息...

    2009年3月31日,微软发布了 Microsoft Visual Studio International Pack 1.0 SR1.Visual Studio International Pack ...

  6. 利用微软类库 Visual Studio International Pack 汉字转拼音

    首先,从微软官网下载安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2 ...

  7. 微软提供对汉语拼音的强大升级支持--Microsoft Visual Studio International Pack 1.0 SR1

    下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10& ...

  8. 使用Microsoft Visual Studio International Pack获得中文字符串的所有拼音组合(处理多音字)...

    最近一个项目中客户需要做人名的拼音检索,就像QQ好友那样,输入拼音就提示符合的联系人.上网找了一下,发现微软已经发布了相关的支持库,不仅可以处理拼音,还能处理笔画.简繁体转换等.csdn上有一篇博客介 ...

  9. 使用Microsoft Visual Studio International Pack获得中文字符串的所有拼音组合(处理多音字)

    最近一个项目中客户需要做人名的拼音检索,就像QQ好友那样,输入拼音就提示符合的联系人.上网找了一下,发现微软已经发布了相关的支持库,不仅可以处理拼音,还能处理笔画.简繁体转换等.csdn上有一篇博客介 ...

最新文章

  1. 5G 信令流程 — UE 状态机
  2. html弹窗确认取消公告代码,js 弹出确认与取消对话框的四种方法
  3. git 本地代码到github(转)
  4. c语言解析json报文源码,GitHub - faycheng/cJSON: cJson源码和源码分析
  5. 杂项题的基本解题思路——2、图片隐写术
  6. Oracle发布开源的轻量级 Java 微服务框架 Helidon 1
  7. 判断iframe是否加载完成的方法[转]
  8. linux解锁文件.user.ini,Linux下解决网页服务器权限和.user.ini无法删除的问题
  9. 富士施乐2022网络扫描设置_富士施乐(FUJI XEROX)全系列复印机产品介绍
  10. c语言中文网 vc++6.0下载量_【新手必看】C语言开发环境,请查收!
  11. 不加载执行js_前端性能优化:preload 预加载页面资源
  12. spring的sanpshot报错_最详细的 Spring Boot 多模块开发与排坑指南
  13. fastDFS 命令笔记
  14. 安装appcan后打开eclipse出错
  15. raw socket的例子
  16. 颜色模式(RGB、HSV、Lab)
  17. 给SVN泼盆冷水,是时候用GIT了
  18. 机器学习实战(11)——初识人工神经网络
  19. 如何进行系统安全评估
  20. Ubuntu 18.04环境配置系统设置

热门文章

  1. android 字体描边实现,android文字描边功能的实现
  2. 8086 INC, DEC
  3. 硕士毕业后去国外读法学博士_法学硕士的完整形式是什么?
  4. java类名与文件名_为什么Java文件名必须与公共类名相同?
  5. scala字符串替换_如何在Scala中替换字符串中的正则表达式模式?
  6. 《C++ Primer 第五版》(第6.1~6.3节) 函数形参和实参传递,可变参数列表和函数返回值
  7. python 获取windows上 网络连接信息 ip dhcp dns gateway
  8. 【计算机系统设计】学习笔记(1)03,04
  9. vivado软件如何查看内部器件的仿真信号
  10. 通过Source insight查看内核源码