Chr()和输出文件的简单问题

时间:2011-10-19 19:02:47

标签: .net vb.net file ascii streamwriter

我正在使用vb .net(2005& 2010),并且在将ascii字符写入文件时会产生不需要的输出。

在调试控制台上,我得到(chr(128,chr(147),chr(130)):

€
“
‚

在文件上,我得到:

€
â€
‚

某种垃圾?你需要删除它们,该行必须以€和其他行开头。

我是System.IO.StreamWriter,它是.WriteLine方法,有或没有刷新。

谢谢!

2 个答案:

答案 0 :(得分:2)

好吧,StreamWriter使用UTF-8作为编码,除非您指定其他任何内容。

你用什么来读取文件一点也不清楚 - 但是如果你能把它作为UTF-8读取,它可能会显示出你的期望。

就我个人而言,我会避免使用Chr,而是支持更加可移植的ChrW,它不依赖于当前线程的默认编码设置。

现在,关于应该包含的文件 - 它实际上取决于将要读取的内容。我一般认为UTF-8是一个好的编码,但它显然不是你期待的那个......

答案 1 :(得分:0)

它可能与编码有关。当我将bat文件检入tfs时,我发生了类似的事情。通过检查文件中的文件,设置了在我运行bat文件时在文件的第一个字符中放置一个特殊字符并导致错误。

我希望这会有所帮助......