Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
来源:互联网 发布:中信证券交易软件 编辑:程序博客网 时间:2024/05/18 12:40
(已经安装解压后的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即可使用。下面是一个汉字“中”的测试例子:
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.International.Converters.PinYinConverter;
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
using System.Collections.ObjectModel;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, 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 (string pin in pinyin)
{
Response.Write(pin + ",");
}
char[] ChineseChars;
Response.Write("<li>所有拼音 MENG1 的汉字<br/>");
ChineseChars = ChineseChar.GetChars("MENG1");
Response.Write("共" + ChineseChars.Length.ToString() + "个,分别是:");
for (int i = 0; i < ChineseChars.Length; i++)
{
Response.Write(ChineseChars[i] + ",");
}
String simText = "中国人";
String traText = ChineseConverter.Convert(simText, ChineseConversionDirection.SimplifiedToTraditional);
Response.Write("<li>繁简转换测试:" + traText);
}
}
封装了简体中文的读音和笔画等基本信息。
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.International.Converters.PinYinConverter;
using System.Collections.ObjectModel;
using System.Text;
/// <summary>
/// PinYinConverter 的摘要说明
/// </summary>
public class PinYinConverter
{
/// <summary>
/// 将字符串转换成拼音
/// </summary>
/// <param name="chineseStr">姓名字符串</param>
/// <param name="includeTone">是否包含音调</param>
/// <returns></returns>
public static string ConvertToPinYin(string chineseStr, bool includeTone)
{
if (chineseStr == null)
throw new ArgumentNullException("chineseStr");
char[] charArray = chineseStr.ToCharArray();
StringBuilder sb = new StringBuilder();
foreach (char c in charArray)
{
ChineseChar chineseChar = new ChineseChar(c);
ReadOnlyCollection<string> pyColl = chineseChar.Pinyins;
foreach (string py in pyColl)
{
sb.Append(py);
}
}
if (!includeTone)
{
StringBuilder sb2 = new StringBuilder();
foreach (char c in sb.ToString())
{
if (!char.IsNumber(c))
sb2.Append(c);
}
return sb2.ToString();
}
return sb.ToString();
}
public static string ConvertToPinYin(string chineseStr)
{
//return ConvertToPinYin(chineseStr, true);
return ConvertToPinYin(chineseStr, false);
}
public static bool IsValidChar(char ch)
{
return ChineseChar.IsValidChar(ch);
}
/// <summary>
/// 是否为有效的中文字
/// </summary>
/// <param name="chn"></param>
/// <returns></returns>
public static bool IsValidChinese(string chn)
{
if (chn == null)
throw new ArgumentNullException("chn");
foreach (char c in chn)
{
if (!IsValidChar(c))
return false;
}
return true;
}
}
根据ChnCharInfo.dll 类,自己再封装一个自定义的汉转首个字母类。
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.International.Converters.PinYinConverter;
using System.Collections.ObjectModel;
using System.Text;
using System.Text.RegularExpressions;
/// <summary>
/// 汉字转拼音类
/// </summary>
public class PinYinConver
{
public PinYinConver()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 把汉字转换成拼音(全拼)
/// by
/// </summary>
/// <param name="hzString">汉字字符串</param>
/// <returns>转换后的拼音(全拼)字符串</returns>
public static string Convert(string hzString)
{
if (string.IsNullOrEmpty(hzString))
return "";
char[] noWChar = hzString.ToCharArray();
string txt = "";
for (int j = 0; j < noWChar.Length; j++)
{
if (IsValidChar(noWChar[j]))
{
txt += ConvertToFirstPinYin(noWChar[j].ToString());
}
}
return txt;
}
/// <summary>
/// 将字符串转换成首个拼音
/// </summary>
/// <param name="chineseStr">字符串</param>
/// <returns></returns>
public static string ConvertToFirstPinYin(string chineseStr)
{
if (chineseStr == null)
return "";
char[] charArray = chineseStr.ToCharArray();
StringBuilder sb = new StringBuilder();
foreach (char c in charArray)
{
ChineseChar chineseChar = new ChineseChar(c);
ReadOnlyCollection<string> pyColl = chineseChar.Pinyins;
foreach (string py in pyColl)
{
if (py != null)
{
sb.Append(py.Substring(0 , 1));
break;
}
}
}
return sb.ToString();
}
/// <summary>
/// 将字符串转换成拼音
/// </summary>
/// <param name="chineseStr">姓名字符串</param>
/// <param name="includeTone">是否包含音调</param>
/// <returns></returns>
public static string ConvertToPinYin(string chineseStr, bool includeTone)
{
if (chineseStr == null)
throw new ArgumentNullException("chineseStr");
char[] charArray = chineseStr.ToCharArray();
StringBuilder sb = new StringBuilder();
foreach (char c in charArray)
{
ChineseChar chineseChar = new ChineseChar(c);
ReadOnlyCollection<string> pyColl = chineseChar.Pinyins;
foreach (string py in pyColl)
{
sb.Append(py);
}
}
if (!includeTone)
{
StringBuilder sb2 = new StringBuilder();
foreach (char c in sb.ToString())
{
if (!char.IsNumber(c))
sb2.Append(c);
}
return sb2.ToString();
}
return sb.ToString();
}
public static string ConvertToPinYin(string chineseStr)
{
return ConvertToPinYin(chineseStr, true);
}
public static bool IsValidChar(char ch)
{
return ChineseChar.IsValidChar(ch);
}
/// <summary>
/// 是否为有效的中文字
/// </summary>
/// <param name="chn"></param>
/// <returns></returns>
public static bool IsValidChinese(string chn)
{
if (chn == null)
return false;
foreach (char c in chn)
{
if (!IsValidChar(c))
return false;
}
return true;
}
}
- 2008-04-11 正式版 Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- C# 处理汉字、拼音、笔画转换 Microsoft Visual Studio International Pack 1.0
- 扩展类库:使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
- 使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
- 使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
- 使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
- 【.Net码农】使用微软的 Visual Studio International Pack 1.0 进行网站简体与繁体的互转和得到汉字、拼音、笔画等相关信息
- Microsoft Visual Studio International Pack 1.0
- 使用Microsoft Visual Studio International Pack获得中文字符串的所有拼音组合(处理多音字)
- Microsoft Visual Studio International Pack
- 利用微软的Visual Studio International Pack 1.0进行中文转换为拼音
- C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母
- 幽默的老外程序员注释
- windows VIA C/C++ 之 Character Encodings
- 关于Excel中的F2键(知道了,会对Excel的操作非常方便)。
- jQuery 中dialog的使用 对dialog中页面进行编辑后由ajax传回主页面 商品三级类的添加修改
- 遍历某盘所有目录生成树
- Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- [软件人生]一场无伤的辩论——关于韩国历史和满汉朝之间关系的讨论(2)
- C++中 PASCAL关键字
- MyEclipse6.5自动生成序列号注册机源码
- MFC歌词解析
- 文档编辑一部分代码-
- linux下搭建查看内核源代码工具lxr
- [软件人生]一场无伤的辩论——关于韩国历史和满汉朝之间关系的讨论(3)
- 并查集及其链表与不相交集合森林实现