首先去这个地址下载类库:
http://www.microsoft.com/downloads/zh-cn/confirmation.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn
这两个提供这是微软亚洲汉字开发中心开发的。2009年3月31日,微软发布了 Microsoft Visual Studio International Pack 1.0 SR1。Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持。使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用。
说明
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持。使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用。 该软件包1.0版提供下面七个组件以增强.NET Framework对全球化软件应用开发的支持。
- 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)支持简繁体中文资源文件之间的转换。
下载完毕后,进行解压,里面有7个msi文件,其中:CHSPinYinConv.msi就是汉字拼音相关的,CHTCHSConv.msi是进行简体与繁体进行相互转换的,值安装这2个msi即可。安装完毕后,需要在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 System;
using System.Windows.Forms;
using Microsoft.International.Converters.PinYinConverter;
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
using System.Collections.ObjectModel;
namespace ChineseWordDeal
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
///依次获取汉字笔画
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
textBox3.Clear();
int L = GetChars().Length;
string Res = "";
for (int i = 0; i < L; i++)
{
char C = GetChars()[i];
//判断是不是有效的汉字
if (ChineseChar.IsValidChar(C))
{
//笔画数依次输出
Res += ChineseChar.GetStrokeNumber(C).ToString() + ",";
}
else
{
//非有效的汉字则输出?号
Res += ("?,");
}
}
Res = Res.Substring(0, Res.Length - 1);
textBox3.Text = Res;
}
//获取汉字对应的拼音,不是读音
private void button1_Click(object sender, EventArgs e)
{
textBox2.Clear();
int L = GetChars().Length;
string Res = "";
for (int i = 0; i < L; i++)
{
char C = GetChars()[i];
if (ChineseChar.IsValidChar(C))
{
ChineseChar CC = new ChineseChar(C);
//返回单个汉字拼音的所有集合,包括不同读音
ReadOnlyCollection<string> roc = CC.Pinyins;
//只获取第一个拼音
string Py = CC.Pinyins[0];
//去掉后面的数字,只截取拼音
Res += Py.Substring(0, Py.Length - 1) + ",";
}
//不是汉字返回问号
else { Res += "?,"; }
}
//去掉最后一个逗号
Res = Res.Substring(0, Res.Length - 1);
textBox2.Text = Res;
}
//计算有效的汉字数量
private void textBox1_TextChanged(object sender, EventArgs e)
{
label4.Text = "";
int L = GetChars().Length;
int k = 0;
for (int i = 0; i < L; i++)
{
char C = GetChars()[i];
if (ChineseChar.IsValidChar(C))
{
k++;
}
}
label4.Text = "当前汉字个数:" + k.ToString();
}
//将文本字符串转化为字符数组输出
public char[] GetChars()
{
char[] Cs = textBox1.Text.Trim().ToCharArray();
return Cs;
}
//获取汉字拼音列表,所有的 。处理同汉字拼音
private void button3_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
int L = GetChars().Length;
string Res = "";
for (int i = 0; i < L; i++)
{
char C = GetChars()[i];
if (ChineseChar.IsValidChar(C))
{
ChineseChar CC = new ChineseChar(C);
ReadOnlyCollection<string> roc = CC.Pinyins;
string R0 = "";
foreach (string s in roc)
{
R0 += (s + " ");
}
R0 = R0.Substring(0, R0.Length - 1) + "\n";
Res += C + ":" + R0;
}
else { Res += "?" + "\n"; }
}
Res = Res.Substring(0, Res.Length - 1);
richTextBox1.Text = Res;
}
//获取汉字对应的繁体
private void button4_Click(object sender, EventArgs e)
{
textBox4.Clear();
String simText = textBox1.Text.Trim();
String traText = ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);
textBox4.Text = traText;
}
}
}
效果如下:
不过:有几个方面主要注意:
- 不清楚这个工具参照的是哪个汉字标准,SDK上也没有看到说明,“孟”这个字在字典中并不是多音字;
- 拼音后面的1,2,3,4,5猜测应当是声调标记:阴平,阳平,上声,去声,轻声。具体是否是有待查证;
下面是Microsoft.International.Converters.PinYinConverter.ChineseChar类的成员:
封装了简体中文的读音和笔画等基本信息。
成员类型
成员
描述
|
ChineseCharNew(Char) |
ChineseChar类的构造函数。
|
|
ChineseCharacter |
获取这个汉字字符。
|
|
CompareStrokeNumber(Char) |
将给出的字符和实例字符的笔画数进行比较。
|
静态成员 |
GetCharCount(Int16) |
检索具有指定笔画数的字符个数。
|
静态成员 |
GetChars(String) |
获取给定拼音的所有同音字。
|
静态成员 |
GetChars(Int16) |
检索具有指定笔画数的所有字符串。
|
静态成员 |
GetHomophoneCount(String) |
检索具有指定拼音的字符数。
|
静态成员 |
GetStrokeNumber(Char) |
检索指定字符的笔画数。
|
|
HasSound(String) |
识别字符是否有指定的读音。
|
|
IsHomophone(Char) |
识别给出的字符是否是实例字符的同音字。
|
静态成员 |
IsHomophone(Char, Char) |
识别给出的两个字符是否是同音字。
|
|
IsPolyphone |
获取这个字符是否是多音字。
|
静态成员 |
IsValidChar(Char) |
识别给出的字符串是否是一个有效的汉字字符。
|
静态成员 |
IsValidPinyin(String) |
识别给出的拼音是否是一个有效的拼音字符串。
|
静态成员 |
IsValidStrokeNumber(Int16) |
识别给出的笔画数是否是一个有效的笔画数。
|
|
PinyinCount |
获取这个字符的拼音个数。
|
|
Pinyins |
获取这个字符的拼音。
|
|
StrokeNumber |
获取这个字符的笔画数。
|
其他信息请参与随机安装的chm帮助文件。
喀喀喀~~ 终于将汉字该处理的问题今天全解决了~~ OK~~!!收获颇丰~~10/5/12
以上内容来自:http://hi.baidu.com/jiang_yy_jiang/blog/item/3a94321994308676dab4bd9f.html
分享到:
相关推荐
"PPT简繁转换工具&PPT繁体转简体工具"是专门针对PowerPoint(PPT)文件进行简体与繁体中文转换的应用,方便用户在不同的使用场景下调整演示文稿的语言格式。 首先,我们来了解一下简体中文和繁体中文的区别。简体...
本文将详细介绍一个基于JavaScript实现的“web js转换简体繁体”插件,帮助开发者轻松实现这一功能。 JavaScript,作为前端开发的主要语言之一,具有丰富的库和工具,其中之一就是用于文字编码转换的工具。简体繁体...
文件名批量繁体转简体-KRename.zip"就是一个专门解决此类问题的实用工具,它包含了KRenameShell.dll、KRename.exe、KR.exe、KRename.exe.Manifest、Readme.txt、Language和Scripts等多个关键组件,能够帮助用户轻松...
ORACLE 10G 繁体转简体,导入函数即可使用
在WinForms应用中,这个功能可以集成到用户界面中,创建两个按钮,一个用于“简体转繁体”,另一个用于“繁体转简体”,并将转换后的结果显示在文本框或其他UI元素中。 需要注意的是,虽然.NET框架提供了这种转换...
《汉之云繁体转简体补丁》是一款专为《轩辕剑五外传:汉之云》游戏设计的辅助工具,旨在帮助玩家解决游戏中文字显示的问题,将原本的繁体中文转换为简体中文,使得对繁体字不熟悉或者阅读困难的玩家能够更好地理解和...
"简体转繁体 繁体转简体 js JavaScript"这个标题和描述暗示了我们将在JavaScript环境中讨论如何实现这种转换。JavaScript是一种广泛应用于Web开发的脚本语言,它允许我们在用户的浏览器端执行代码,提供实时的交互...
中文繁体转简体,jso文件
标题中的“pb源码繁体转简体程序”指的是针对PowerBuilder(PB)开发环境的源代码进行繁体中文到简体中文的转换工具。PowerBuilder是一款流行的、基于事件驱动的编程工具,主要用于构建数据库应用程序。在处理涉及...
批量转换文本或者表格里的中文简繁体 --自制工具请勿外传
在“java中文繁体转中文简体”这个主题中,我们主要讨论的是如何利用Java技术来实现中文繁体字到简体字的转换。 首先,我们需要了解中文字符集。在计算机中,中文字符的表示通常使用Unicode编码,它包含了繁体字和...
### Delphi简体转繁体—繁体转简体 #### 概述 在软件开发过程中,特别是针对中文环境的应用程序开发,字符编码转换是一项重要的技术。Delphi作为一种广泛使用的编程语言,在处理中文字符集(如简体中文与繁体中文...
在Word等应用程序中,用户可以在"工具"或"审阅"菜单中找到“繁体转简体”的选项,然后选择要转换的文本或整个文档,点击转换按钮,即可完成转换。 值得注意的是,虽然这个插件专为Office 2003设计,但不同版本的...
《GBK繁体转简体:理解编码转换与易语言应用》 GBK编码是中文字符集的一种,全称为“汉字内码扩展规范”(Gbk,即“Great Wall”或“Chinese Internal Code Specification”的缩写),它是GB2312编码的扩展,能够...
"chrome繁体简体转换插件.rar"就是专为解决这一问题而设计的插件,它能够方便用户在繁体中文和简体中文之间轻松切换,极大地提高了阅读和沟通的效率。 首先,让我们来了解一下如何安装这个插件。下载并解压"chrome...
使用系统自带的.net方法将UTF8字符串转为Unicode,或者将Unicode转为UTF8。非常轻巧,而无需使用记事本转换的.Net方法。特别适合用于繁体系统文字转为简体系统文字,将乱码转为正确的文字。
10. **简体转繁体.txt文件**: 这个文件可能是转换示例或者转换规则的文本文件,可能包含了简体中文词汇及其对应的繁体形式,可以作为开发时的一个参考数据集。 综上所述,实现Android中的简繁体转换涉及多方面的...
在“易语言GBK繁体转简体”这个主题中,我们主要关注的是如何在易语言中实现GBK编码的繁体中文向简体中文的转换。这涉及到字符编码的理解、字符串操作以及可能的字典查找等技术。 首先,我们需要理解GBK编码的工作...
本资源"易语言中文简体繁体转换"提供了一种解决方案,帮助用户在简体中文和繁体中文之间进行文本转换。 在编程中,特别是在处理多语言应用时,中文简体与繁体的转换是一项常见的需求。简体中文是中国大陆广泛使用的...
在中文环境中,简体和繁体字的转换与识别是一个常见的需求,这在标题和描述中已经提到。这里我们将详细探讨如何使用Scala和Java来实现简体与繁体中文的互换以及判断文字是简体还是繁体。 首先,让我们了解简体和...