C#创建UTF8无BOM文本文件

C#创建UTF8无BOM文本文件

其他编程Git开源网2019-07-21 23:00:29435A+A-

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.


一般我们写出文件都会用Encoding.UTF8来定义文件编码,但是这种的UTF8是有Bom头的,由于一些软件不识别导致出错,可用上面的var utf8WithoutBom = new System.Text.UTF8Encoding(false)来定义无Bom头的UTF8文件了。

点击这里复制本文地址 以上内容由Git开源网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

支持Ctrl+Enter提交

Git开源网_git开源代码资源网_git开源博客 © All Rights Reserved.  
文章中出现的商标及图像版权属于其合法持有人,只供传递信息之用,非商务用途。本站所上传资源,只用于交流学习所用。本站资源收集于网络以及网友投稿,其版权归原创者所有,如有侵害到你的权益,或有不妥之处,请联系我们删除,敬请谅解。Email:admin#gitoscc.com(#更换成@)
Copyright © Git开源网 All rights reserved. 黑ICP备18006154号-1 由ZBlog驱动

网站管理