【发布时间】:2014-12-24 07:47:58
【问题描述】:
我们知道UTF8Encoding 类的构造函数可以接收一个可选参数:bool,指定编码器是否应提供字节顺序标记 (BOM)。
但是,当使用这两种方法编码相同的文本时,输出是相同的:
string text = "Hello, world!";
byte[] withBom= new UTF8Encoding(true).GetBytes(text);
byte[] withoutBom = new UTF8Encoding(false).GetBytes(text);
withBom 和 withoutBom 的内容相同,一个字节甚至不比另一个多一个字节。
为什么会这样?为什么withBom没有加字节序标记?
【问题讨论】:
标签: c# .net encoding utf-8 byte-order-mark