在使用StreamWriter生成一个.txt文件时,可以使用记事本正常打开,但它不是一个真正的纯文本文件(在unix下打开行首有乱码)。我现在需要生成一个纯文本文件,但不知道怎样才可以做到,望各位大大不吝惕教。

解决方案 »

  1.   

    你说的行首的乱码可能是BOM(Byte Order Mask),UTF7/8/16都有BOM
    要想不要这个BOM,那么就用GB2312的编码来保存文本文件
      

  2.   

    这跟utf-8标记有关,有些编辑器会写一个utf-8的头标记,可能C#也是
      

  3.   

    这跟utf-8标记有关,有些编辑器会写一个utf-8的头标记,可能C#也是
    ---------------
    不是可能...BOM是Unicode规范规定的...所有编辑器都要加它的...lz所谓的“真正的纯文本文件”是指ANSI文本...指定Encoding即可...StreamWriter sw = new System.IO.StreamWriter(fs, System.Text.Encoding.Default);
      

  4.   

    字符串转为相应编码的byte数组,直接用FileStream二进制方式写就可以了