C#创建UTF8无BOM文本文件

In order to omit the byte order mark (BOM), your stream must use a custom instance of UTF8Encoding instead of the default System.Text.Encoding.UTF8:

1.Call the UTF8Encoding constructor with False for the encoderShouldEmitUTF8Identifier parameter.

2.Pass the UTF8Encoding instance to the stream constructor.

实例:

复制代码
var utf8WithoutBom = new System.Text.UTF8Encoding(false);
                                                //^^^^^
using (var sink = new StreamWriter("Foobar.txt", false, utf8WithoutBom))
{
    sink.WriteLine("...");
}
复制代码

 

Note that omitting the BOM is only permissible for UTF-8, not for UTF-16.

posted @ 2018-06-19 15:37  HuSam  阅读(2907)  评论(0编辑  收藏  举报