|
[C#]解决读写包含汉字的txt文件时乱码的问题 (6) stream.Seek(origPos, SeekOrigin.Begin);
}
return targetEncoding;
}
}
}
由于在GB2312和UTF7编码都没有BOM,所以需要指定一个默认的Encoding,在找不到合法的BOM时,将返回这个
Encoding。有谁知道如何区分GB2312和UTF7编码txt文件的方法,也请告诉我。
由于只是static方法,所以不用new,直接通过类名调用方法,使用起来也很简单。
using System;
using Farproc.Text;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
string fileName = @"e:\a.txt";
//生成一个big endian Unicode编码格式的文本文件
StreamWriter sw = new StreamWriter(fileName, false, Encoding.BigEndianUnicode);//你可以试试其他编码,比如Encoding.GetEncoding("GB2312")或UTF8
sw.Write("这是一个String");
|