2016-04-19 29 views
0

給定下面的代碼,test.xml的編碼是什麼?使用FileStream和XmlSerializer時的編碼

var filePath = @"C:\TEMP\test.xml"; 
using (var fileStream = new FileStream(filePath, FileMode.OpenOrCreate)) 
{ 
    fileStream.SetLength(0); 
    var xmlSerializer = new XmlSerializer(typeof(string)); 
    xmlSerializer.Serialize(fileStream, "HELLO WORLD"); 
} 

回答

1

默認情況下,StreamWriter使用UTF-8編碼,因此您的test.xml將使用UTF-8格式。 更多的細節是here

+0

你現在如何在上面的代碼中使用StreamWriter? – Tomd

+0

因爲XmlSerializer在內部使用XmlTextWriter,並輪流創建StreamWriter的實例。你可以在來源中看到。 http://referencesource.microsoft.com/#System.Xml/System/Xml/Core/XmlTextWriter.cs,ef8c5504a875f43c – Oleg