사용(StreamWriter sw = File.CreateText(@"d:DefaultUTF8.txt"))
{
sw.Write("비공개");
}
사용(StreamWriter sw=new StreamWriter(@"d:StreamUTF8.txt",
거짓,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(정보, 0, info.Length);
}
저는 항상 위의 세 가지 방법의 결과는 똑같고 차이가 없다고 생각했는데, 오늘은 그렇지 않다는 것을 압니다. 하하, 이 질문이 순진하다고 생각한다면, 무시할 필요는 없습니다
. 결과 1과 3은 동일하며 둘 다 E7 A7 81입니다.
그리고 2에는 EF BB BF인 추가 ZERO WIDTH NO-Break Space가 있습니다.
파일의 인코딩 방식을 나타내기 위해 Byte Order Mark를 사용해야 하는 경우에는 방법 2를 사용하시기 바랍니다.
위의 내용은 Big-Endian과 Little-Endian을 나타내는 UNICODE에도 적용됩니다.
http://www.cnblogs.com/jjstar/archive/2006/12/18/595812.html