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

Dav*_*ver 6 c#

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

这就是我所看到的:

20 c2 a0 53 57 45 45 50 Dump = "  SWEEP"
Run Code Online (Sandbox Code Playgroud)

但我希望它永远是:

20 20 53 57 45 45 50    Dump = "  SWEEP"
Run Code Online (Sandbox Code Playgroud)

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

有没有人有任何想法?

欢呼和谢谢;

-Daver

Mik*_*son 5

如果您的源包含非中断空格,则可以在写出字符串之前替换它们.

string sourceString = ..some string...
sourceString = sourceString.Replace((char)160, ' '); //replace nobr with space
Run Code Online (Sandbox Code Playgroud)