(已经安装解压后的dll ,请添加至项目bin下)

http://files.cnblogs.com/Fooo/Microsoft_Visual_Studio_International_Pack_1.0.rar

2009年3月31日,微软发布了 Microsoft Visual Studio International Pack 1.0 SR1。Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持。使用该类库提供的类,.NET 开发人员可以更方便的创建支持多文化多语言的软件应用。下载地址是:http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn 该软件包1.0版提供下面七个组件以增强.NET Framework对全球化软件应用开发的支持。

  1. East Asia Numeric Formatting Library - 支持将小写的数字字符串格式化成简体中文,繁体中文,日文和韩文的大写数字字符串。
  2. Japanese Kana Conversion Library - 支持将日文假名(Kana)转化为另一种日文字符。
  3. Japanese Text Alignment Library - 支持日文特有的一种对齐格式。
  4. Japanese Yomi Auto-Completion Library - 类库支持感知日文输入法的输入自动完成和一个文本框控件的示例。
  5. Korean Auto Complete TextBox Control - 支持韩文输入法的智能感知和输入自动完成的文本框控件。
  6. Simplified Chinese Pin-Yin Conversion Library - 支持获取简体中文字符的常用属性比如拼音,多音字,同音字,笔画数。
  7. 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即可使用。下面是一个汉字“中”的测试例子:

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingMicrosoft.International.Converters.PinYinConverter;
usingMicrosoft.International.Converters.TraditionalChineseToSimplifiedConverter;
usingSystem.Collections.ObjectModel;

publicpartialclassDefault2 : System.Web.UI.Page
{

protectedvoidPage_Load(objectsender, EventArgs e)
   {
      ChineseChar chineseChar = new ChineseChar(System.Char.Parse("我"));
     Response.Write("<h2>关于汉字 “中” 的相关信息:</h2>");
     Response.Write("<li>“中”笔画数:"+ChineseChar.GetStrokeNumber('中'));
     Response.Write("<li>“中”是否是多音字: "+chineseChar.IsPolyphone);
     ReadOnlyCollection<string>pinyin =chineseChar.Pinyins;
     Response.Write("<li>“中”所有拼音:");
    foreach(stringpin inpinyin)
     {
       Response.Write(pin +",");
     }

char[] ChineseChars;

Response.Write("<li>所有拼音 MENG1 的汉字<br/>");
     ChineseChars =ChineseChar.GetChars("MENG1");
     Response.Write("共"+ChineseChars.Length.ToString() +"个,分别是:");
    for(inti =0; i <ChineseChars.Length; i++)
     {
       Response.Write(ChineseChars[i] +",");
     }

String simText ="中国人";
     String traText =ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);
     Response.Write("<li>繁简转换测试:"+traText);
   }
}

封装了简体中文的读音和笔画等基本信息。

成员类型 成员 描述
  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
获取这个字符的笔画数。
  • 使用的方法很简单,不过里面的方法都是对于一个汉字使用而言,而且会包含音调,譬如“张”,转换出来就会是“ZHANG1”,“学”,转换出来就会是“XUE2”,如此类推。因此自己再封装一下达到可以整个姓名转换成拼音,并去掉没用的音调。代码如下:

    usingSystem;
    usingSystem.Data;
    usingSystem.Configuration;
    usingSystem.Web;
    usingSystem.Web.Security;
    usingSystem.Web.UI;
    usingSystem.Web.UI.WebControls;
    usingSystem.Web.UI.WebControls.WebParts;
    usingSystem.Web.UI.HtmlControls;

    usingMicrosoft.International.Converters.PinYinConverter;
    usingSystem.Collections.ObjectModel;
    usingSystem.Text;

    ///<summary>
    ///PinYinConverter 的摘要说明
    ///</summary>
    publicclassPinYinConverter 
        { 
            ///<summary>
            ///将字符串转换成拼音 
            ///</summary>
            ///<param name="chineseStr">姓名字符串</param>
            ///<param name="includeTone">是否包含音调</param>
            ///<returns></returns>
    publicstaticstringConvertToPinYin(stringchineseStr, boolincludeTone) 
            { 
                if(chineseStr ==null) 
                    thrownewArgumentNullException("chineseStr");

    char[] charArray =chineseStr.ToCharArray(); 
                StringBuilder sb =newStringBuilder(); 
                foreach(charc incharArray) 
                { 
                    ChineseChar chineseChar =newChineseChar(c); 
                    ReadOnlyCollection<string>pyColl =chineseChar.Pinyins; 
                    foreach(stringpy inpyColl) 
                    { 
                        sb.Append(py); 
                    } 
                }

    if(!includeTone) 
                { 
                    StringBuilder sb2 =newStringBuilder(); 
                    foreach(charc insb.ToString()) 
                    { 
                        if(!char.IsNumber(c)) 
                            sb2.Append(c); 
                    } 
                    returnsb2.ToString(); 
                }

    returnsb.ToString(); 
            }

    publicstaticstringConvertToPinYin(stringchineseStr) 
            { 
                //return ConvertToPinYin(chineseStr, true); 
    returnConvertToPinYin(chineseStr, false); 
            }

    publicstaticboolIsValidChar(charch) 
            { 
                returnChineseChar.IsValidChar(ch); 
            }

    ///<summary>
            ///是否为有效的中文字 
            ///</summary>
            ///<param name="chn"></param>
            ///<returns></returns>
    publicstaticboolIsValidChinese(stringchn) 
            { 
                if(chn ==null) 
                    thrownewArgumentNullException("chn");

    foreach(charc inchn)


                    if(!IsValidChar(c)) 
                        returnfalse; 
                }

    returntrue; 
            } 
        }

  • 根据ChnCharInfo.dll 类,自己再封装一个自定义的汉转首个字母类。

    usingSystem;
    usingSystem.Data;
    usingSystem.Configuration;
    usingSystem.Web;
    usingSystem.Web.Security;
    usingSystem.Web.UI;
    usingSystem.Web.UI.WebControls;
    usingSystem.Web.UI.WebControls.WebParts;
    usingSystem.Web.UI.HtmlControls;
    usingMicrosoft.International.Converters.PinYinConverter;
    usingSystem.Collections.ObjectModel;
    usingSystem.Text;
    usingSystem.Text.RegularExpressions;

    ///<summary>
    ///汉字转拼音类
    ///</summary>
    publicclassPinYinConver
    {
        publicPinYinConver()
        {
            //
            //TODO: 在此处添加构造函数逻辑
            //
    }

    ///<summary>
        ///把汉字转换成拼音(全拼)
        ///by 
        ///</summary>
        ///<param name="hzString">汉字字符串</param>
        ///<returns>转换后的拼音(全拼)字符串</returns>
    publicstaticstringConvert(stringhzString)
        {
            if(string.IsNullOrEmpty(hzString))
                return"";             
           
            char[] noWChar =hzString.ToCharArray();
            stringtxt ="";
            for(intj =0; j <noWChar.Length; j++)
            {
                if(IsValidChar(noWChar[j]))
                {
                    txt +=ConvertToFirstPinYin(noWChar[j].ToString());
                }           
            }
            returntxt;  
        }
        ///<summary>
        ///将字符串转换成首个拼音 
        ///</summary>
        ///<param name="chineseStr">字符串</param>
        ///<returns></returns>
    publicstaticstringConvertToFirstPinYin(stringchineseStr)
        {
            if(chineseStr ==null)
                return"";

    char[] charArray =chineseStr.ToCharArray();
            StringBuilder sb =newStringBuilder();
            foreach(charc incharArray)
            {
                ChineseChar chineseChar =newChineseChar(c);
                ReadOnlyCollection<string>pyColl =chineseChar.Pinyins;
                foreach(stringpy inpyColl)
                {              
                    if(py !=null)
                    {                   
                        sb.Append(py.Substring(0, 1));
                        break;
                    }
                }
            }       
            returnsb.ToString();
        }
        ///<summary>
        ///将字符串转换成拼音 
        ///</summary>
        ///<param name="chineseStr">姓名字符串</param>
        ///<param name="includeTone">是否包含音调</param>
        ///<returns></returns>
    publicstaticstringConvertToPinYin(stringchineseStr, boolincludeTone)
        {
            if(chineseStr ==null)
                thrownewArgumentNullException("chineseStr");

    char[] charArray =chineseStr.ToCharArray();
            StringBuilder sb =newStringBuilder();
            foreach(charc incharArray)
            {
                ChineseChar chineseChar =newChineseChar(c);
                ReadOnlyCollection<string>pyColl =chineseChar.Pinyins;
                foreach(stringpy inpyColl)
                {
                    sb.Append(py);
                }
            }
            if(!includeTone)
            {
                StringBuilder sb2 =newStringBuilder();
                foreach(charc insb.ToString())
                {
                    if(!char.IsNumber(c))
                        sb2.Append(c);
                }
                returnsb2.ToString();
            }
            returnsb.ToString();
        }
        publicstaticstringConvertToPinYin(stringchineseStr)
        {        
            returnConvertToPinYin(chineseStr, true);
        }
        publicstaticboolIsValidChar(charch)
        {
            returnChineseChar.IsValidChar(ch);
        }
        ///<summary>
        ///是否为有效的中文字 
        ///</summary>
        ///<param name="chn"></param>
        ///<returns></returns>
    publicstaticboolIsValidChinese(stringchn)
        {
            if(chn ==null)
                returnfalse;

    foreach(charc inchn)
            {
                if(!IsValidChar(c))
                    returnfalse;
            }
            returntrue;
        }

    }

Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换相关推荐

  1. Microsoft Visual Studio International Pack 1.0 Beta1 处理汉字、拼音、笔画转换

    /**//*     微软刚刚推出     Microsoft Visual Studio International Pack 1.0 Beta1     支持 汉字 拼音 笔画 转换     ht ...

  2. C# 处理汉字、拼音、笔画转换 Microsoft Visual Studio International Pack 1.0

    (已经安装解压后的dll ,请添加至项目bin下) http://files.cnblogs.com/Fooo/Microsoft_Visual_Studio_International_Pack_1 ...

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

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

  4. Microsoft Visual Studio International Pack 1.0

    下载地址: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=f9cfc884-1f00-4 ...

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

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

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

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

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

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

  8. Microsoft Visual Studio Learning Pack 2.0

    一个比较有意思的教学插件,推荐给辛勤的老师们. Microsoft Visual Studio Learning Pack 2.0 (上一版的名字是 Microsoft VisualStudio Ch ...

  9. Microsoft Visual Studio International Pack

    Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...

最新文章

  1. 开源代码hosting openfoundryfrom tw
  2. 如何判断链表是否有环_如何快速判断气门油封是否漏油?
  3. Gray-level Co-occurrence Matrix(灰度共生矩阵)
  4. Error detection in Knowledge Graphs: Path Ranking, Embeddings or both?-学习笔记
  5. 获取国内国外flink的mailing list技术支持
  6. 群体智能,多个机器人协同搬运!
  7. UsernamePasswordAuthenticationFilter源码分析
  8. Django中使用Celery(附赠代码)
  9. 量化交易入门读物列表
  10. Git:撤销回滚操作
  11. spark官方文档_Spark机器学习之Pipeline
  12. Linux嵌入式_详解从原理图到数据手册解析PWM蜂鸣器实现
  13. Android TextInputLayout 实现动画登录界面
  14. input框背景设置透明
  15. 三层交换机实现不同vlan间通信
  16. 计算机组装物料清单,物料清单
  17. 松翰单片机数码管c语言,松翰单片机数码管程序
  18. 计算机的格式刷,“excle怎样取消格式刷“电脑上格式刷怎么用excel2000
  19. Java 小数保留小数位数的方法
  20. 产业驱动消费升级 百果园获品途 2018“商业变革影响力”奖

热门文章

  1. java soap 操作和发送soap消息
  2. 【英雄算法联盟】6月集训Day10.位运算
  3. 2019最近计算机毕业设计-题目汇总大全-系列1
  4. 从小故事带你理解零知识证明 | 区块链一千零一问
  5. mp3转成cd专用软件
  6. 免费cad转pdf方法
  7. 马云马化腾等IT大佬都毕业于什么大学
  8. LayaAir3.0beta5新增3D UI、支持FairyGUI导入、支持iOS模拟器、IDE多开、列表指定子项等...
  9. java比较string是否相同
  10. mysql支持pivot