空格字符/流写问题c#

本文关键字:问题 字符 空格 | 更新日期: 2023-09-27 18:05:33

我试图制作一个固定宽度的文件,但我发现,当我使用空格字符时,我在我的txt文件中有一个奇怪的标志。如果我把"50"改为"15"或"1000",它就可以正常工作了。

这是我的代码:

string fileName = Path.GetTempPath() + "temp.txt";
FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter writer = new StreamWriter(stream);
writer.Write("1".PadRight(50, ' '));
writer.Write("0".PadRight(756, ' '));
writer.Close();

怎么了?

空格字符/流写问题c#

忽略你之前读到的内容。我拿了你的程序的输出,它在微软记事本中显示得很奇怪,然后用其他几个编辑器打开了它。它们看起来都很好。我确信这是编码错误,然后打开XVI32查看二进制文件。

我从文件的末尾删除了一个空格,我重新保存文件,它显示得很好。我把它放回去,问题又出现了。我将第一个十六进制字符从32更改为小于30,它可以正常工作。

这看起来像是Microsoft Notepad的一个非常奇怪的错误