当前位置: 首页 > news >正文

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

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

首先下载Visual Studio International Pack 2.0,官方下载地址:http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=7D1DF9CE-4AEE-467F-996E-BEC826C5DAA2。

1.0 SR1 下载地址:
http://www.microsoft.com/zh-cn/download/details.aspx?id=15251

 

下载完毕后安装,运行文件VSIPSetup.msi 安装 (x86操作系统上的默认安装目录是 C:\Program Files\Microsoft Visual Studio International Feature Pack 2.0\) 。安装完毕后,需要在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;
        }


该类库的功能概述

Visual Studio International Feature 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 版支持格式化阿拉伯数字为阿拉伯文字。


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


    转于:http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html 


    ————————————————————————————————————————————

    附:1楼有回复版本应该为1.0

相关文章:

  • 控件基本属性Padding, Margins, Align...
  • IBM Tivoli Management Framework默认设置漏洞
  • 在 Java SE 6 中监视和诊断性能问题
  • WinCE6.0流驱动开发的两种方法及驱动加载失败问题解决
  • android 深入研究ratingbar自定义
  • 新的Windows Azure SDK for PHP 3.0版本现已推出
  • 2764: [JLOI2011]基因补全
  • struts1.2实现图片上传
  • 进程管理工具glances的使用
  • Acunetix Web Vulnerability Scanner
  • “无价”的美妙——阅《无价》有感
  • fedora21安装ruby-rails
  • [实战运维小技巧]-解决perl命令执行或编译问题
  • Attractive Music Store OpenCart 自适应主题模板 ABC-0237
  • Bitcoin虚拟货币原理
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • C++11: atomic 头文件
  • C++类中的特殊成员函数
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • CentOS7 安装JDK
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • es6要点
  • extract-text-webpack-plugin用法
  • java正则表式的使用
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Node项目之评分系统(二)- 数据库设计
  • scala基础语法(二)
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Vue 2.3、2.4 知识点小结
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 嵌入式文件系统
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 手机端车牌号码键盘的vue组件
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • ​人工智能书单(数学基础篇)
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #QT(串口助手-界面)
  • (02)vite环境变量配置
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (学习日记)2024.01.19
  • (一) storm的集群安装与配置
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .cfg\.dat\.mak(持续补充)
  • .mysql secret在哪_MySQL如何使用索引
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .net6+aspose.words导出word并转pdf
  • .net6Api后台+uniapp导出Excel
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国