Encoding.UTF8 与 new UTF8Encoding(false) 有什么区别?


 

System.Text.Encoding.UTF8 是一个静态实例,它省略了 BOM,而 new UTF8Encoding(false) 创建的实例是含有 BOM 的。

BOM,即 Byte Order Mark,也即字节流标记,它是用来让应用程序识别所用的编码的。UTF-8 的 BOM 是 0xEFBBBF。

public UTF8Encoding(bool encoderShouldEmitUTF8Identifier),可以看出,如果我们指定参数为 false,表示不省略 BOM;如果为 true,则和 Encoding.UTF8 一样了。注意,在 msdn 上似乎把这个参数的意思解释反了。有兴趣的朋友可以看一看:http://msdn.microsoft.com/zh-cn/community/s064f8w2.aspx


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM