我正在使用vb .net(2005& 2010),并且在将ascii字符写入文件时会产生不需要的输出。
在调试控制台上,我得到(chr(128,chr(147),chr(130)):
€
“
‚
在文件上,我得到:
€
â€
‚
某种垃圾?你需要删除它们,该行必须以€和其他行开头。
我是System.IO.StreamWriter,它是.WriteLine方法,有或没有刷新。
谢谢!
答案 0 :(得分:2)
好吧,StreamWriter
使用UTF-8作为编码,除非您指定其他任何内容。
你用什么来读取文件一点也不清楚 - 但是如果你能把它作为UTF-8读取,它可能会显示出你的期望。
就我个人而言,我会避免使用Chr
,而是支持更加可移植的ChrW
,它不依赖于当前线程的默认编码设置。
现在,关于应该包含的文件 - 它实际上取决于将要读取的内容。我一般认为UTF-8是一个好的编码,但它显然不是你期待的那个......
答案 1 :(得分:0)
它可能与编码有关。当我将bat文件检入tfs时,我发生了类似的事情。通过检查文件中的文件,设置了在我运行bat文件时在文件的第一个字符中放置一个特殊字符并导致错误。
我希望这会有所帮助......