باستخدام(StreamWriter sw = File.CreateText(@"d:DefaultUTF8.txt"))
{
sw.Write("خاص");
}
باستخدام (StreamWriter sw=new StreamWriter(@"d:StreamUTF8.txt"،
false،System.Text.Encoding.UTF8))
{
sw.Write("خاص");
}
باستخدام (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);
}
لقد اعتقدت دائمًا أن نتائج الطرق الثلاثة المذكورة أعلاه هي نفسها ولا يوجد فرق، واليوم أعلم أن الأمر ليس كذلك، إذا كنت تعتقد أن هذا السؤال ساذج، فلا داعي للنظر إلى
الأسفل النتائج 1 و 3 هي نفسها، وكلاهما E7 A7 81
و2 سيكون لهما مساحة إضافية ذات عرض صفري بدون فاصل، وهي EF BB BF
عندما نحتاج إلى استخدام Byte Order Mark للإشارة إلى طريقة تشفير الملف، يرجى استخدام الطريقة 2. ما
ورد أعلاه ينطبق أيضًا على UNICODE الذي يشير إلى Big-Endian وLittle-Endian.
http://www.cnblogs.com/jjstar/archive/2006/12/18/595812.html