我们知道,类
然而,使用这两种方法编码相同的文本时,输出结果是相同的。
UTF8Encoding
的构造函数可以接收一个可选参数:一个bool
,用于指定编码器是否应该提供字节顺序标记(BOM)。然而,使用这两种方法编码相同的文本时,输出结果是相同的。
string text = "Hello, world!";
byte[] withBom= new UTF8Encoding(true).GetBytes(text);
byte[] withoutBom = new UTF8Encoding(false).GetBytes(text);
无论是 withBom
还是 withoutBom
,它们都有相同的内容,其中一个字节也没有多。
为什么会这样?为什么字节顺序标记没有添加到 withBom
中?
GetBytes
可以用于部分输出,而不仅仅是整个字符串。每次生成 BOM 并不会有帮助。 - Athari