usando(StreamWriter sw = File.CreateText(@"d:DefaultUTF8.txt"))
{
sw.Write("privado");
}
usando(StreamWriter sw=new StreamWriter(@"d:StreamUTF8.txt",
falso,System.Text.Encoding.UTF8))
{
sw.Write("privado");
}
usando (System.IO.FileStream fs = System.IO.File.Create(@"d:ByteUTF8.txt"))
{
byte[] info = System.Text.Encoding.UTF8.GetBytes("privado");
fs.Write(info, 0, info.Comprimento);
}
Sempre pensei que os resultados dos três métodos acima são iguais e não há diferença. Hoje sei que não é o caso Haha, se você acha que essa pergunta é ingênua, não precisa olhar para baixo
. os resultados 1 e 3 são iguais, ambos são E7 A7 81.
E 2 terá um ESPAÇO NO-BREAK DE LARGURA ZERO extra, que é EF BB BF
Quando precisarmos usar Byte Order Mark para indicar o método de codificação do arquivo, use o método 2. O
acima também se aplica a UNICODE indicando Big-Endian e Little-Endian.
http://www.cnblogs.com/jjstar/archive/2006/12/18/595812.html