StreamWriter问题 - 2个空格写为Hex '20 c2 a0'而不是Hex '20 20'

时间:2010-05-31 22:00:38

标签: c#

我正在使用字符串编写器将一堆字符串写入文件但是当我查看以十六进制创建的文件时,我发现了一个问题,那就是其中一个空格(x20)被替换为当有2个空格分隔单词时,取而代之的是非破坏空格(xc2 a0)。我不知道这是不是很重要,但我想知道是否有一个简单的解决方案吗?

这就是我所看到的:

20 c2 a0 53 57 45 45 50 Dump = "  SWEEP"

但我希望它永远是:

20 20 53 57 45 45 50    Dump = "  SWEEP"

请注意,此处不显示c2 a0,但转储看起来像'A'。当我使用Notepad ++ Hex插件时。

有没有人有任何想法?

欢呼和谢谢;

-Daver

1 个答案:

答案 0 :(得分:5)

如果您的来源包含不间断的空格,您可以在写出字符串之前替换它们。

string sourceString = ..some string...
sourceString = sourceString.Replace((char)160, ' '); //replace nobr with space