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