Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
(已经安装解压后的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对全球化软件应用开发的支持。
- 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即可使用。下面是一个汉字“中”的测试例子:
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 处理汉字、拼音、笔画转换相关推荐
- Microsoft Visual Studio International Pack 1.0 Beta1 处理汉字、拼音、笔画转换
/**//* 微软刚刚推出 Microsoft Visual Studio International Pack 1.0 Beta1 支持 汉字 拼音 笔画 转换 ht ...
- C# 处理汉字、拼音、笔画转换 Microsoft Visual Studio International Pack 1.0
(已经安装解压后的dll ,请添加至项目bin下) http://files.cnblogs.com/Fooo/Microsoft_Visual_Studio_International_Pack_1 ...
- 微软提供对汉语拼音的强大升级支持--Microsoft Visual Studio International Pack 1.0 SR1
下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=44CAC7F0-633B-477D-AED2-99AEE642FC10& ...
- Microsoft Visual Studio International Pack 1.0
下载地址: http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=f9cfc884-1f00-4 ...
- 使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息...
2009年3月31日,微软发布了 Microsoft Visual Studio International Pack 1.0 SR1.Visual Studio International Pack ...
- 使用Microsoft Visual Studio International Pack获得中文字符串的所有拼音组合(处理多音字)...
最近一个项目中客户需要做人名的拼音检索,就像QQ好友那样,输入拼音就提示符合的联系人.上网找了一下,发现微软已经发布了相关的支持库,不仅可以处理拼音,还能处理笔画.简繁体转换等.csdn上有一篇博客介 ...
- 使用Microsoft Visual Studio International Pack获得中文字符串的所有拼音组合(处理多音字)
最近一个项目中客户需要做人名的拼音检索,就像QQ好友那样,输入拼音就提示符合的联系人.上网找了一下,发现微软已经发布了相关的支持库,不仅可以处理拼音,还能处理笔画.简繁体转换等.csdn上有一篇博客介 ...
- Microsoft Visual Studio Learning Pack 2.0
一个比较有意思的教学插件,推荐给辛勤的老师们. Microsoft Visual Studio Learning Pack 2.0 (上一版的名字是 Microsoft VisualStudio Ch ...
- Microsoft Visual Studio International Pack
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...
最新文章
- 开源代码hosting openfoundryfrom tw
- 如何判断链表是否有环_如何快速判断气门油封是否漏油?
- Gray-level Co-occurrence Matrix(灰度共生矩阵)
- Error detection in Knowledge Graphs: Path Ranking, Embeddings or both?-学习笔记
- 获取国内国外flink的mailing list技术支持
- 群体智能,多个机器人协同搬运!
- UsernamePasswordAuthenticationFilter源码分析
- Django中使用Celery(附赠代码)
- 量化交易入门读物列表
- Git:撤销回滚操作
- spark官方文档_Spark机器学习之Pipeline
- Linux嵌入式_详解从原理图到数据手册解析PWM蜂鸣器实现
- Android TextInputLayout 实现动画登录界面
- input框背景设置透明
- 三层交换机实现不同vlan间通信
- 计算机组装物料清单,物料清单
- 松翰单片机数码管c语言,松翰单片机数码管程序
- 计算机的格式刷,“excle怎样取消格式刷“电脑上格式刷怎么用excel2000
- Java 小数保留小数位数的方法
- 产业驱动消费升级 百果园获品途 2018“商业变革影响力”奖