HttpWebRequest以UTF-8编码写入内容时发生“Bytes to be written to the stream exceed the
时间:2010-12-13 来源:Gildor Wang
request.ContentLength = Encoding.UTF8.GetByteCount(content); var writer = new StreamWriter(request.GetRequestStream(), Encoding.UTF8); writer.Write(content); writer.Flush(); writer.Close();
原因是直接使用Encoding.UTF8,在StreamWriter中使用这个Encoding会在流的开头写入byte order mark. 解决方法是改用new UTF8Encoding(false)来构造不写入byte order mark的Encoding.
相关阅读 更多 +
排行榜 更多 +