Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
空间字符/流写入器问题C#_C#_Streamwriter - Fatal编程技术网

空间字符/流写入器问题C#

空间字符/流写入器问题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

我试图制作一个固定宽度的文件,但我发现当我使用空格字符时,我的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();

有什么问题吗?

忽略你之前在这里读到的内容。我获取了你的程序的输出,它在Microsoft记事本中显示得很奇怪,并在其他几个编辑器中打开了它。所有这些都很好。我确信这是编码错误,然后打开XVI32查看二进制文件

我从文件末尾删除了一个空格,然后重新保存文件,它显示得很好。我把它放回去,问题又出现了。我将第一个十六进制字符从32改为任何小于30的字符,效果很好


因此,这似乎是Microsoft记事本的一个非常奇怪的错误。

您预期的结果是什么?你得到了什么结果?你需要什么编码?ASCII码?UTF8?UTF16?有/没有BOM?什么是“我的txt文件中有奇怪的符号”?请特别张贴你期望发生的事情和真正发生的事情。你如何发现这些“奇怪的迹象”?可能是您的编辑器/查看器没有识别编码。这是记事本错误编码的情况吗?我记得有一个技巧,你可以在记事本中输入一个短语,保存它,然后重新打开它,它会变得乱七八糟。你能再解释一下吗?这对我来说毫无意义。@Henk你在什么操作系统上测试过它?它是XP还是更高版本的Windows产品?