汉字处理组件

有时候项目中会根据用户姓名的拼音检索数据,微软专门提供了一个组件安装包来处理非英文的特殊语言,名称为

Microsoft Visual Studio International Pack

下载这个安装包,然后安装简体中文的组件

默认的安装路径为:C:\Program Files (x86)\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library

要在项目中使用这种汉字处理方法需要添加该目录下的dll文件:ChnCharInfo.dll

以下是这个简体中文包提供的方法

测试代码:

using Microsoft.International.Converters.PinYinConverter;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 获取汉字拼音
{
    class Program
    {
        static void Main(string[] args)
        {
            // 1.获取指定汉字的拼音
            ChineseChar cc = new ChineseChar(‘乐‘);
            // 因为汉字有可能是多音字,所以循环遍历输出所有的拼音
            foreach (var str in cc.Pinyins)
            {
                // 输出结果为:LE4,YUE4。(注意:拼音后面的数字代表声调)
                Console.WriteLine(str);
            }
            // 2.获取这个汉字字符。
            Console.WriteLine(cc.ChineseCharacter); // 输出结果:乐

            // 3.获取这个字符的笔画数。
            Console.WriteLine(cc.StrokeNumber); // 输出结果:5

            // 4.获取这个字符的拼音个数。
            Console.WriteLine(cc.PinyinCount);  // 输出结果:2

            // 5.将给出的字符和实例字符的笔画数进行比较。输出结果为“乐” 字的笔画数减去要比较的汉字笔画数
            Console.WriteLine(cc.CompareStrokeNumber(‘中‘)); // “乐”字的笔画数比“中”字的笔画数多1,输出结果:1
            Console.WriteLine(cc.CompareStrokeNumber(‘主‘)); // “乐”字的笔画数和“主”字的笔画数一样多,输出结果:0
            Console.WriteLine(cc.CompareStrokeNumber(‘国‘)); // “国”字的笔画数比“乐”字的笔画数多3,输出结果:-3

            // 6.检索具有指定笔画数的字符个数。
            Console.WriteLine(ChineseChar.GetCharCount(1));

            // 7.检索具有指定笔画数的所有字符串。
            char[] cSameStrokeNum = ChineseChar.GetChars(1);
            foreach (var c in cSameStrokeNum)
            {
                Console.WriteLine(c);
            }

            // 8.获取给定拼音的所有同音字。
            char[] cSamePinyin = ChineseChar.GetChars("shao4"); // PS:必须指定拼音的声调
            foreach (var c in cSamePinyin)
            {
                Console.WriteLine(c);
            }

            // 9.还有很多其他方法
            Console.ReadKey();
        }
    }
}

时间: 2024-10-11 08:42:32

汉字处理组件的相关文章

简单测试--C#实现中文汉字转拼音首字母

第一种: 这个是自己写的比较简单的实现方法,要做汉字转拼音首字母,首先应该有一个存储首字母的数组,然后将要转拼音码的汉字与每个首字母开头的第一个汉字即"最小"的汉字作比较,这里的最小指的是按拼音规则比较最小,例如a比h小,所以"爱"比"恨"小,同一个字母开头的拼音比较大小以此类推.最后实现的结果是只转汉字,对于中文特殊字符.标点符号和英文都原样输出,不转码. 实现方法如下: 1 using System; 2 using System.Colle

C# 将汉字转化成拼音

本文来自http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html 首先下载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个M

HTML5:给汉字加拼音?收起展开组件?

来看看 HTML 的历史和规范常识.HTML 规范是 W3C 与 WHATWG 合作共同产出的,HTML5 因此也不例外.其中: W3C 指 World Wide Web Consortium WHATWG 指 Web Hypertext Application Technology Working Group 说好听了是“合作产出”,但其实更像是“HTML5 有两套规范”.但话说天下大势合久必分,分久必合,如今(就在前几天,2018.5.29)它们又表示将会开发单一版本的 HTML 规范. H

Atitit.http连接合并组件   ConnReducerV3 新特性

Atitit.http连接合并组件   ConnReducerV3 新特性 D:\0workspace\AtiPlatf_cms\src\com\attilax\util\ConnReducerV2.java V3 调用::<script type="text/javascript" src="../dsl/new%28com.attilax.util.connReducerV3%29.set_resfile%28mer_info%2Fmer_info_edit_js.

Microsoft Visual Studio International Pack 1.0 SR1--关于汉字转拼音

Microsoft Visual Studio International Pack 1.0 SR1————微软的一个类库 地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=15251 Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用.SR1 包含对 Ja

Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系

Atitit 面向对象编程(OOP).面向组件编程(COP).面向方面编程(AOP)和面向服务编程(SOP)的区别和联系 1. 面向组件编程(COP) 所以,组件比起对象来的进步就在于通用的规范的引入.通用规范往往能够为组件添加新的能力(就像上面所讨论的), COP比OOP更进一步.通常OOP将数据对象组织到实体中.这种方法具有很多优点.但是,OOP有一个大的限制:对象之间的相互依赖关系.去掉这个限制的一个好的想法就是组件.组件和一般对象之间的关键区别是组件是可以替代的. 3.什么是面向方面编程

用jspSmartUpload组件实现文件上传、下载

jspSmartUpload组件,可从http://download.csdn.net/user/dearchuansir下载,压缩包的名字是jspSmartUpload.zip.下载后,将其解压到Tomcat的webapps目录下.解压后,将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,这样一改jspSmartUpload类才能使用.如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作: 1.进入命令行状态,将目录切换

Android 基础组件

基础组件 所有的控件都可以在java代码中创建出来,并且大部分的属性都对应set和get方法,比如 View view = new View(Context context)  context是上下文,是Activity父类,一般传入当前Activity 1.TextView text 文本 setText() getText() textColor文本颜色 #FFFFFF setTextColor(Color.Blue) getTextColor() textSize文本大小   sp set

atitti.atiNav 手机导航组件的设计

1.1. 三大按键导航功能,back,menu ,home1 1.2. header页头组件,为移动页面顶部的导航条设计.1 1.3. 页头主题设计1 1.1. 三大按键导航功能,back,menu ,home 参考Android的三大按键导航功能,back,menu ,home 那确定按钮哪里去了?? 基本就靠触摸了 1.2. header页头组件,为移动页面顶部的导航条设计. 作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al