用c#中的普通空格替换特殊字符?

时间:2013-08-02 02:45:26

标签: c# replace char

我正在尝试用utf-8文件中的普通空格替换特殊字符。问题是,当我尝试使用空格char或null时,如果替换了特殊字符,则使用其他特殊字符,例如带有问号或小方块的菱形。

这是我用来替换其中一个字符的代码:

  

content = content.Replace((char)0XA0,'\ 0');

我也尝试过:

  

content = content.Replace((char)0XA0,'');

它也不起作用

我正在处理的文件可能会变得非常大,因此一次解析一个字符是不可行的。

寻找有关如何使其发挥作用的任何建议。

由于

3 个答案:

答案 0 :(得分:0)

您是否尝试过content = content.Replace((char)0XA0,'');?

答案 1 :(得分:0)

当处理特殊的utf-8字符时,你会很乐意使用ushort uint而不是char,因为utf-8字符可以是大约一到四个字节。

答案 2 :(得分:0)

0xA0不是字符的有效UTF-8表示。实际的字符uA0的UTF-8表示是194 160(或0xC2 0xA0)。

您可以使用字符串文字

content = content.Replace('\u00A0', ' ');

使用UTF-8时,高于127的UTF代码将表示为代理对。