C#写文件时,StreamWriter有可选参数指定编码格式Encoding,而文件的格式ASCII,UTF-8,UTF-32,Unicode,gb2312对于存储文件内容又格外重要。(关于具体文件编码请上网搜索资料)
测试代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace Test
{
class Program
{
static void Main(string[] args)
{
try
{
StreamWriter sw1 = new StreamWriter("1.txt");
StreamWriter sw2 = new StreamWriter("2.txt", false, Encoding.GetEncoding("ASCII"));
StreamWriter sw3 = new StreamWriter("3.txt", false, Encoding.GetEncoding("UTF-8"));
StreamWriter sw4 = new StreamWriter("4.txt", false, Encoding.GetEncoding("UTF-7"));
StreamWriter sw5 = new StreamWriter("5.txt", false, Encoding.GetEncoding("UTF-32"));
StreamWriter sw6 = new StreamWriter("6.txt", false, Encoding.GetEncoding("Unicode"));
StreamWriter sw7 = new StreamWriter("7.txt", false, Encoding.GetEncoding("GB2312"));
sw1.WriteLine("test 测试");
sw2.WriteLine("test 测试");
sw3.WriteLine("test 测试");
sw4.WriteLine("test 测试");
sw5.WriteLine("test 测试");
sw6.WriteLine("test 测试");
sw7.WriteLine("test 测试");
sw1.Close();
sw2.Close();
sw3.Close();
sw4.Close();
sw5.Close();
sw6.Close();
sw7.Close();
}
catch (IOException)
{
}
}
}
}
运行结果:
生成7个文件,在Notepad++中显示相应文件编码如下:
1.txt ANSI as UTF-8