都用 utf8 编码,下面贴两端伪代码。
问 : 第一种情况肯定是用 utf8 编码方式写入了文件,那第二种是不是也是用 uft8 写入了文件?(因为我发现用第二种方式写后,用某些文本编辑器打开会出现乱码,而第一种方式却不会)谢谢!!
      // 第一种
using(FileStream fs = new FileStream("path"))
{
     using(StreamWriter sw = new StreamWriter(fs, Encoding.UTF8))
    {
         sw.WriterLine("要写入文件的字符串");
    }
}// 第二种
using(FileStream fs = new FileStream("path"))
{
     string s = "要写入文件的字符串";
     Byte[] b = Encoding.UTF8.GetBytes(s);
     fs.Write(b, 0, b.Length);
}

解决方案 »

  1.   

    两个文件都是 U8-DOS 的,StreamWriter 生成文件写入了 以下 BOM 头
    EF BB BF而直接用字节输出的, 没有 bom 头,
    某些编辑器不能判断 bom 头, 就按照 OS 默认编码读取了, 就显示为乱码了.ue 没事.
      

  2.   

    //某些编辑器在没有 bom 头情况下, 就按照 OS 默认编码读取了, 就显示为乱码了. 
      

  3.   


    这是查的什么版本的 msdn ??也许是这个问题,等明天看看,手头没 ide 。不过比较高级的像word 啥的应该自己会猜出来吧
      

  4.   

    第一种,要创建一个utf8格式的文件。
    第二种,往一个文件里写入一段utf8编码的数据
      

  5.   

    是,加了 bom 头就没事了,谢谢