我已經使用下面的代碼來使用UTF-8編碼從數據集成字節數組得到的xml:爲什麼我在字節數組的開頭獲得一個額外的字符(點或圓點)?
private static byte[] fGetXmlBytes(DataTable lvDataTable)
{
XmlWriterSettings lvSettings = new XmlWriterSettings();
lvSettings.Encoding = Encoding.UTF8;
lvSettings.NewLineHandling = NewLineHandling.Replace;
lvSettings.NewLineChars = String.Empty;
using(MemoryStream lvMemoryStream = new MemoryStream())
using (XmlWriter lvWriter = XmlWriter.Create(lvMemoryStream, lvSettings))
{
lvDataTable.WriteXml(lvWriter, XmlWriteMode.IgnoreSchema);
//Lines used during debugging
//byte[] lvXmlBytes = lvMemoryStream.GetBuffer();
//String lsXml = Encoding.UTF8.GetString(lvXmlBytes, 0, lvXmlBytes.Length);
return lvMemoryStream.GetBuffer();
}
}
我想要一個字節數組,因爲我隨後將數據傳遞給上工作的壓縮和加密例程字節數組。問題是我最終在xml的開頭添加了一個額外的字符。相反的:
<?xml version="1.0" encoding="utf-8"?><etc....
我得到
.<?xml version="1.0" encoding="utf-8"?><etc....
有誰知道爲什麼性格呢?有沒有辦法阻止角色被添加?或者輕易將它剝離?
科林
請張貼額外字符的實際值。 – 2009-08-11 15:07:03