用API不好把。用.net的函数不是更方便么?
解决方案 »
- 求教 :树控件的二重循环
- c#调用DLL如何返回结构数据
- 问个VisualStudio安装的
- 如何动态添加KML坐标点和计算速度
- 为什么提交有时候会失败???
- 求一个正则式的写法
- 在制作安装包时,有特殊需要,安装路径不能含有空格。如何提示?
- 使用第三方控件之后,如何发布出去? 别人只装.net framework
- 十万火急!我下载的vs.net2003怎么安装呀?(在线等待)
- 我在ComboBox中放了两列从SqlServer中取出来的数据,现在我想在ComboBox中把其中一列的被选择的数据找出来,(我是用来作查询条件),怎么写?
- XP安装了vs .net2003 及MSDN 但运行帮助文件刚开始还可以,一会儿出现非法错误现象
- 一次定义多个菜单
微软提供的这个功能在Microsoft.VisualBasic.Strings.StrConv中,十分容易地就可以调用它,下面是一个简单的将简体转为繁体的例子:
using Microsoft.VisualBasic;
……
string source = “中国是一个美丽的国家。”;
string target = Strings.StrConv(source, VbStrConv.TraditionalChinese, 0);
然后我们就得到了内容为:“中國是一個美麗的國家。”的字符串target。如果想将繁体转为简体,只需要将第2个参数改为VBStrConv.SimplifiedChinese就可以了。
当然这个调用简单的函数还有其他强大的功能,比如提供日文平假名和片假名的转换等。我建议读者一定要抽时间读一下MSDN中关于此功能的介绍。ms-help://MS.MSDNQTR.2003FEB.2052/vblr7/html/vafctstrconv.htm
using System.Data;namespace VirunConvertor
{
/// <summary>
/// 将简体中文转化为繁体中文。
/// </summary>
public class ConvS2T
{ static public string TraditionalChinese(string SimplifiedChinese)
{
return Microsoft.VisualBasic.Strings.StrConv(SimplifiedChinese,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,0);
} static public string TraditionalChinese(string SimplifiedChinese,bool ConvertWords)
{
string sSimplified=null;
if(ConvertWords)
{
sSimplified=WordsConvert(SimplifiedChinese);
}
else
{
sSimplified=SimplifiedChinese;
}
return Microsoft.VisualBasic.Strings.StrConv(sSimplified,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,0);
} static public string Big5Chinese(string Gb2312Chinese)
{
string sTraditional=TraditionalChinese(Gb2312Chinese);
byte[] bytes = System.Text.Encoding.GetEncoding("big5").GetBytes(sTraditional);
return System.Text.Encoding.GetEncoding("gb2312").GetString(bytes);
} static public string Big5Chinese(string Gb2312Chinese,bool ConvertWords)
{
string sTraditional=TraditionalChinese(Gb2312Chinese,ConvertWords);
byte[] bytes = System.Text.Encoding.GetEncoding("big5").GetBytes(sTraditional);
return System.Text.Encoding.GetEncoding("gb2312").GetString(bytes);
} static protected string WordsConvert(string Text)
{
DataSet ds=new DataSet();
ds.ReadXml("WordsTable.xml");
foreach(DataRow row in ds.Tables[0].Rows)
{
Text=Text.Replace(row[0].ToString(),row[1].ToString());
}
return Text;
}
}
}
//Encoding.GetEncoding(950) 即繁体中文BIG5,
//Encoding.GetEncoding(936) 即间体中文GBK。
private Encoding getEncoding()
{
switch(this.encodingStyle)
{
case "0" : return this.textDeal == "0" ? Encoding.GetEncoding(950) : Encoding.GetEncoding(936);
case "1" : return Encoding.Unicode;
case "2" : return Encoding.UTF8;
case "3" : return Encoding.BigEndianUnicode;
default : break;
}
return Encoding.GetEncoding(936);
}希望对你又帮助