`
sjrhero
  • 浏览: 85896 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

繁体转简体

阅读更多

首先去这个地址下载类库:

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;

        }
    }
}
 效果如下:
效果图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

不过:有几个方面主要注意:

  1. 不清楚这个工具参照的是哪个汉字标准,SDK上也没有看到说明,“孟”这个字在字典中并不是多音字;
  2. 拼音后面的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繁体转简体工具

    "PPT简繁转换工具&PPT繁体转简体工具"是专门针对PowerPoint(PPT)文件进行简体与繁体中文转换的应用,方便用户在不同的使用场景下调整演示文稿的语言格式。 首先,我们来了解一下简体中文和繁体中文的区别。简体...

    web js转换简体繁体

    本文将详细介绍一个基于JavaScript实现的“web js转换简体繁体”插件,帮助开发者轻松实现这一功能。 JavaScript,作为前端开发的主要语言之一,具有丰富的库和工具,其中之一就是用于文字编码转换的工具。简体繁体...

    改名-文件名批量繁体转简体-KRename.zip

    文件名批量繁体转简体-KRename.zip"就是一个专门解决此类问题的实用工具,它包含了KRenameShell.dll、KRename.exe、KR.exe、KRename.exe.Manifest、Readme.txt、Language和Scripts等多个关键组件,能够帮助用户轻松...

    ORACLE 10G 繁体转简体

    ORACLE 10G 繁体转简体,导入函数即可使用

    C# 中文简体繁体转换(字符串处理必学)

    在WinForms应用中,这个功能可以集成到用户界面中,创建两个按钮,一个用于“简体转繁体”,另一个用于“繁体转简体”,并将转换后的结果显示在文本框或其他UI元素中。 需要注意的是,虽然.NET框架提供了这种转换...

    汉之云繁体转简体补丁

    《汉之云繁体转简体补丁》是一款专为《轩辕剑五外传:汉之云》游戏设计的辅助工具,旨在帮助玩家解决游戏中文字显示的问题,将原本的繁体中文转换为简体中文,使得对繁体字不熟悉或者阅读困难的玩家能够更好地理解和...

    简体转繁体 繁体转简体 js JavaScript

    "简体转繁体 繁体转简体 js JavaScript"这个标题和描述暗示了我们将在JavaScript环境中讨论如何实现这种转换。JavaScript是一种广泛应用于Web开发的脚本语言,它允许我们在用户的浏览器端执行代码,提供实时的交互...

    繁体转简体.json

    中文繁体转简体,jso文件

    pb源码繁体转简体程序

    标题中的“pb源码繁体转简体程序”指的是针对PowerBuilder(PB)开发环境的源代码进行繁体中文到简体中文的转换工具。PowerBuilder是一款流行的、基于事件驱动的编程工具,主要用于构建数据库应用程序。在处理涉及...

    繁体转简体批量繁简转换工具

    批量转换文本或者表格里的中文简繁体 --自制工具请勿外传

    java中文繁体转中文简体

    在“java中文繁体转中文简体”这个主题中,我们主要讨论的是如何利用Java技术来实现中文繁体字到简体字的转换。 首先,我们需要了解中文字符集。在计算机中,中文字符的表示通常使用Unicode编码,它包含了繁体字和...

    Delphi简体转繁体—繁体转简体

    ### Delphi简体转繁体—繁体转简体 #### 概述 在软件开发过程中,特别是针对中文环境的应用程序开发,字符编码转换是一项重要的技术。Delphi作为一种广泛使用的编程语言,在处理中文字符集(如简体中文与繁体中文...

    office2003繁体转简体

    在Word等应用程序中,用户可以在"工具"或"审阅"菜单中找到“繁体转简体”的选项,然后选择要转换的文本或整个文档,点击转换按钮,即可完成转换。 值得注意的是,虽然这个插件专为Office 2003设计,但不同版本的...

    android 简体转繁体,繁体转简体 代码 附sdk

    10. **简体转繁体.txt文件**: 这个文件可能是转换示例或者转换规则的文本文件,可能包含了简体中文词汇及其对应的繁体形式,可以作为开发时的一个参考数据集。 综上所述,实现Android中的简繁体转换涉及多方面的...

    GBK繁体转简体.rar

    《GBK繁体转简体:理解编码转换与易语言应用》 GBK编码是中文字符集的一种,全称为“汉字内码扩展规范”(Gbk,即“Great Wall”或“Chinese Internal Code Specification”的缩写),它是GB2312编码的扩展,能够...

    chrome繁体简体转换插件.rar

    "chrome繁体简体转换插件.rar"就是专为解决这一问题而设计的插件,它能够方便用户在繁体中文和简体中文之间轻松切换,极大地提高了阅读和沟通的效率。 首先,让我们来了解一下如何安装这个插件。下载并解压"chrome...

    编码转换_编码转换_繁体转简体_UTF8_unicode_

    使用系统自带的.net方法将UTF8字符串转为Unicode,或者将Unicode转为UTF8。非常轻巧,而无需使用记事本转换的.Net方法。特别适合用于繁体系统文字转为简体系统文字,将乱码转为正确的文字。

    易语言GBK繁体转简体

    在“易语言GBK繁体转简体”这个主题中,我们主要关注的是如何在易语言中实现GBK编码的繁体中文向简体中文的转换。这涉及到字符编码的理解、字符串操作以及可能的字典查找等技术。 首先,我们需要理解GBK编码的工作...

    易语言中文简体繁体转换

    本资源"易语言中文简体繁体转换"提供了一种解决方案,帮助用户在简体中文和繁体中文之间进行文本转换。 在编程中,特别是在处理多语言应用时,中文简体与繁体的转换是一项常见的需求。简体中文是中国大陆广泛使用的...

    scala java 简体、繁体互转换,判断是否为简体、繁体

    在中文环境中,简体和繁体字的转换与识别是一个常见的需求,这在标题和描述中已经提到。这里我们将详细探讨如何使用Scala和Java来实现简体与繁体中文的互换以及判断文字是简体还是繁体。 首先,让我们了解简体和...

Global site tag (gtag.js) - Google Analytics