如何实现:简繁转换?急

ivt 2003-08-02 10:24:53
哪位大虾能给个简繁转换的函数,或帮忙写一个。
应该不会有很多代码,要不指点怎样调用word里的哪个
组件也行。
最好能进行字符串的转换。
30分钟后结贴。
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivt 2003-08-02
  • 打赏
  • 举报
回复
多谢了,结帖
ivt 2003-08-02
  • 打赏
  • 举报
回复
谢谢楼上兄弟:
本人已经在csdn中找到答案了,是引用vb中的函数。

adding a reference to Microsoft.VisualBasic.DLL
(Microsoft.VisualBasic.net runtime)

string sText, sNewText;
sText = "学习";
sNewText = Microsoft.VisualBasic.Strings.StrConv(sText,
Microsoft.VisualBasic.VbStrConv.TraditionalChinese,

System.Globalization.CultureInfo.CreateSpecificCulture("zh-TW"

).LCID); //or SimplifiedChinese,zh-CN
xixigongzhu 2003-08-02
  • 打赏
  • 举报
回复
using System;
using System.IO;
using System.Text;
using Microsoft.VisualBasic;
class StrConv1 {
public static void Main(String[] Args) {
if (Args.Length < 2) {
Console.WriteLine("Usage Conv infilename outfilename.");
return;
}
String InFile = Args[0];
String OutFile = Args[1];
FileStream fs = new FileStream(InFile, FileMode.Open);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.GetEncoding("gb2312"));
StreamWriter sw = new StreamWriter(OutFile, false, System.Text.Encoding.GetEncoding("gb2312"));
char[] buf = new char[1024];
int len = sr.Read(buf, 0, 1024);
String temp;
while (len > 0) {
temp = new String(buf, 0, len);
temp = Strings.StrConv(temp, VbStrConv.SimplifiedChinese, 1033);
sw.Write(temp);
len = sr.Read(buf, 0, 1024);
}
sr.Close();
sw.Close();
}
}

但必须这样编译:
先找到microsoft.visualbasic.dll这个文件所在的目录(和mscorlib.dll同一目录下),假设在c:\winnt\microsoft.net\framework\v1.1.4322\这个目录下,上面的程序存到文件名为yourfile.cs的文件,然后编译:
csc /r:c:\winnt\microsoft.net\framework\v1.1.4322\microsoft.visualbasic.dll yourfile.cs

运行:yourfile test.txt result.txt

就可以实现了,但前提条件是必须是文本文件的格式。

也可以看:
http://expert.csdn.net/Expert/topic/2060/2060294.xml?temp=.944729
TheAres 2003-08-02
  • 打赏
  • 举报
回复
在C#里面进行简体<->繁体的转换也可以利用VB6中的StrConv函数。在使用之前需要在项目中添加Microsoft Visual Basic .NET Runtime的Reference,这样才能够使用Microsoft.VisualBasic下的各种函数。

下面是一段例子代码:
string str1="娱乐";
string str2=Microsoft.VisualBasic.Strings.StrConv(str1,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,0);
MessageBox.Show(str2);
//str2 == "娛樂"

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧