using(StreamWriter sw = File.CreateText(@"d:DefaultUTF8.txt"))
{
sw.Write("private");
}
using(StreamWriter sw=new StreamWriter(@"d:StreamUTF8.txt",
false,System.Text.Encoding.UTF8))
{
sw.Write("private");
}
using (System.IO.FileStream fs = System.IO.File.Create(@"d:ByteUTF8.txt"))
{
byte[] info = System.Text.Encoding.UTF8.GetBytes("private");
fs.Write(info, 0, info.Length);
}
Ich habe immer gedacht, dass die Ergebnisse der oben genannten drei Methoden gleich sind und es keinen Unterschied gibt. Haha, wenn Sie denken, dass diese Frage naiv ist, müssen Sie nicht nach unten
schauen Ergebnisse 1 und 3 sind gleich, beide sind E7 A7 81
Und 2 wird einen zusätzlichen NULLBREITEN-NO-BREAK-SPACE haben, nämlich EF BB BF
Wenn wir Byte Order Mark verwenden müssen, um die Codierungsmethode der Datei anzugeben, verwenden Sie bitte Methode 2. Das
Obige gilt auch für UNICODE, das Big-Endian und Little-Endian angibt.
http://www.cnblogs.com/jjstar/archive/2006/12/18/595812.html