我想将一段字符串以Unicode编码,按字节写入文件中。我通过StreamWriter写入,但是文件头却总是多余的两个字节 FF FE。我只要文本内容本身,不想要这两个字节,怎么办呢?谢谢!

解决方案 »

  1.   

    Unicode本身就是通过前面加两个字节来标记的,去掉了就是纯文本,不再是Unicode
      

  2.   

    方案1、取的时候用StreamReader获取
    方案2、忽略前两个字节
    方案3、存用FileStream
    var stream = new FileStream(@"c:\temp\temp.txt", FileMode.CreateNew, FileAccess.Write);
    var buffer = Encoding.Unicode.GetBytes("Zswang 路过!");
    stream.Write(buffer, 0, buffer.Length);
    stream.Close();
      

  3.   

    FF FE是结束标志··· \0的意思
      

  4.   

    zswang : 我喜欢方案3.先试试。