空间字符/流写入器问题C#
我试图制作一个固定宽度的文件,但我发现当我使用空格字符时,我的txt文件中有一个奇怪的符号。如果我将“50”数字改为“15”或“1000”之类的数字,效果很好 这是我的代码:空间字符/流写入器问题C#,c#,streamwriter,C#,Streamwriter,我试图制作一个固定宽度的文件,但我发现当我使用空格字符时,我的txt文件中有一个奇怪的符号。如果我将“50”数字改为“15”或“1000”之类的数字,效果很好 这是我的代码: string fileName = Path.GetTempPath() + "temp.txt"; FileStream stream = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.Write); StreamWriter writer = ne
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();
有什么问题吗?忽略你之前在这里读到的内容。我获取了你的程序的输出,它在Microsoft记事本中显示得很奇怪,并在其他几个编辑器中打开了它。所有这些都很好。我确信这是编码错误,然后打开XVI32查看二进制文件 我从文件末尾删除了一个空格,然后重新保存文件,它显示得很好。我把它放回去,问题又出现了。我将第一个十六进制字符从32改为任何小于30的字符,效果很好
因此,这似乎是Microsoft记事本的一个非常奇怪的错误。您预期的结果是什么?你得到了什么结果?你需要什么编码?ASCII码?UTF8?UTF16?有/没有BOM?什么是“我的txt文件中有奇怪的符号”?请特别张贴你期望发生的事情和真正发生的事情。你如何发现这些“奇怪的迹象”?可能是您的编辑器/查看器没有识别编码。这是记事本错误编码的情况吗?我记得有一个技巧,你可以在记事本中输入一个短语,保存它,然后重新打开它,它会变得乱七八糟。你能再解释一下吗?这对我来说毫无意义。@Henk你在什么操作系统上测试过它?它是XP还是更高版本的Windows产品?