在c#中写出文件时如何设置文件的编码?

时间:2011-11-18 13:57:17

标签: c# file encoding

我不完全确定我完全理解文件编码。如果我将文本写入c#中的文件,我该如何设置该文件的编码类型?也许只是我不了解文件编码的全部范围。

using (var sw = new StreamWriter(File.Open(@"c:\test.txt", FileMode.CreateNew), Encoding.GetEncoding("iso-8859-1")))
{
    sw.WriteLine("my text...");
}

3 个答案:

答案 0 :(得分:3)

您的代码就是这样 - 您使用ISO Latin 1撰写文本。

请注意,文件本身没有任何内容可以指定编码,除非您写出允许指定的文件。该文件基本上只是一个字节序列。您在代码中指定的编码决定了您正在编写的 text 如何转换为字节,这就是全部。

答案 1 :(得分:2)

使用您已接受Encoding参数的constructor,并将编码设置为您喜欢的编码。

答案 2 :(得分:0)

像这样的东西

using (var sw = new StreamWriter(fileName, true, System.Text.Encoding.UTF8,512);
{
    sw.WriteLine(""text here);
}