Jen*_*nix 5 c# encoding byte-order-mark
我正在与此发出HTTP POST请求:
byte[] postBuffer = Encoding.UTF8.GetBytes(postStr);
Run Code Online (Sandbox Code Playgroud)
到目前为止,这似乎工作正常,但是我不确定这是否将一直有效,因为Encoding.UTF8表示具有BOM的UTF8。当我使用创建本地文件时StreamWriter,请始终使用与新UTF8Encoding(false)相同的默认编码来编写WITHOUT BOM。所以想知道调用GetBytes()方法是否同样如此。
在这种情况下,上下行之间没有任何区别吗?
byte[] postBuffer = new UTF8Encoding().GetBytes(postStr);
Run Code Online (Sandbox Code Playgroud)
我自己进行了几次测试,但仍不确定100%,因此在这里询问。
该GetBytes方法从不返回以 BOM 开头的字节流。可以使用该GetPreAmble方法检索 BOM,当编码器实例化为 false 时,该方法不返回任何内容。
有关更多详细信息,请参阅Microsoft 文档中的详细备注部分。