我正在尝试用 utf-8 文件中的纯空格替换特殊字符。问题是当我尝试空格字符或空字符时,如果替换特殊字符,但用其他一些特殊字符,如带问号或小方块的菱形。
这是我用来替换其中一个字符的代码:
内容 = content.Replace((char)0XA0, '\0');
我也试过:
内容=内容。替换((字符)0XA0,'');
它也不起作用
我正在处理的文件可能会变得非常大,因此一次解析一个字符是不可行的。
寻找有关如何使其发挥作用的任何建议。
谢谢
在处理特殊的 utf-8 字符时,您会很乐意使用 ushort uint 而不是 char,因为 utf-8 字符可以是大约一到四个字节的任何字符。
0xA0
不是字符的有效 UTF-8 表示。字符 uA0 的实际 UTF-8 表示是 194 160(或 0xC2 0xA0)。
您可以改用字符串文字
content = content.Replace('\u00A0', ' ');
使用 UTF-8 时,高于 127 的 UTF 代码将表示为代理对。
你试过 content = content.Replace((char)0XA0, ' '); 吗?