2016-04-19 6 views
0

Étant donné le code ci-dessous, quel encodage tester.xml sera?encodage lors de l'utilisation de FileStream et 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"); 
} 

Répondre

1

Par StreamWriter par défaut utilise encodage UTF-8, de sorte que votre test.xml sera en UTF-8. Plus de détails sont here

+0

comment maintenant vous StreamWriter est utilisé dans le code ci-dessus? – Tomd

+0

Parce que XmlSerializer utilise XmlTextWriter en interne, ce qui à son tour crée l'instance de StreamWriter. Vous pouvez voir dans les sources. http://referencesource.microsoft.com/#System.Xml/System/Xml/Core/XmlTextWriter.cs,ef8c5504a875f43c – Oleg