没有BOM的UTF8以ANSI结尾

时间:2014-05-29 08:08:28

标签: c# encoding utf-8 byte-order-mark

使用下面的代码,我用ANSI编码结束了它。任何想法?

Encoding utf8WithoutBom = new UTF8Encoding(false);
using (FileStream fs = new FileStream("c:\\text.txt", FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
{
    StreamWriter sw = new StreamWriter(fs, utf8WithoutBom);
    sw.Write("sfsdfsdfsdf");
    sw.Flush();
    sw.Close();
    fs.Close();
}

1 个答案:

答案 0 :(得分:2)

纯文本文件不保存它们在任何地方的编码,对于应该存储元信息的位置没有格式规范。你到底拥有的只是一个包含大量字节的文件。它可以解释任何应用程序如何解释这些字节以及它如何找出文件的编码。

UTF-8(仅ASCII字符)与ASCII编码文件完全相同,与ANSI编码文件或" Latin-1"完全相同。编码文件。原始字节没有区别。如果应用程序将该文件标识为ANSI,则该文件与任何其他答案一样有效。