using System; using System.IO; using System.Text; using Microsoft.VisualBasic; namespace Rainsoft.Text { /// /// 字符串编码转换类 /// public class StringEncoding { private StringEncoding() { } /// /// 将字符串转换为简体中文 /// public static string ToSimplifiedChinese(string s) { return Microsoft.VisualBasic.Strings.StrConv(s, VbStrConv.SimplifiedChinese, 0); } /// /// 将文件转换为简体中文 /// /// 源文件名 /// 源文件字符编码 /// 目标文件名 /// 目标文件字符编码 /// /// /// ToSimplifiedChinese("big5.txt", Encoding.GetEncoding("big5"), "gb.txt", Encoding.GetEncoding("gb2312")); /// ToSimplifiedChinese("big5.txt", Encoding.GetEncoding("big5"), "gb.txt", Encoding.UTF8); /// /// public static void ToSimplifiedChinese(string filename, Encoding encoding, string outFilename, Encoding outEncoding) { StreamReader r = new StreamReader(filename, encoding); StreamWriter w = new StreamWriter(outFilename, false, outEncoding); try { w.Write(Strings.StrConv(r.ReadToEnd(), VbStrConv.SimplifiedChinese, 0)); w.Flush(); } finally { w.Close(); r.Close(); } } /// /// 将字符串转换为繁体中文 /// public static string ToTraditionalChinese(string s) { return Microsoft.VisualBasic.Strings.StrConv(s, VbStrConv.TraditionalChinese, 0); } /// /// 将文件转换为繁体中文 /// /// 源文件名 /// 源文件字符编码 /// 目标文件名 /// 目标文件字符编码 /// /// /// ToTraditionalChinese("gb.txt", Encoding.GetEncoding("gb2312"), "gb.txt", Encoding.GetEncoding("big5")); /// ToTraditionalChinese("gb.txt", Encoding.GetEncoding("gb2312"), "gb.txt", Encoding.UTF8); /// /// public static void ToTraditionalChinese(string filename, Encoding encoding, string outFilename, Encoding outEncoding) { StreamReader r = new StreamReader(filename, encoding); StreamWriter w = new StreamWriter(outFilename, false, outEncoding); try { w.Write(Strings.StrConv(r.ReadToEnd(), VbStrConv.TraditionalChinese, 0)); w.Flush(); } finally { w.Close(); r.Close(); } } } } //csharp/7804