我无法控制我们的一些客户保存文件的编码,当它是 ASCII 时,文件可能缺少然后显示“�”的字符。读取文件后,如何删除这些字符“�”?
我正在阅读带有以下行的文件,但对于每一列,我想用 C# .NET 中的空格替换该字符。
using (var parser = new TextFieldParser("", Encoding.UTF8))
我无法控制我们的一些客户保存文件的编码,当它是 ASCII 时,文件可能缺少然后显示“�”的字符。读取文件后,如何删除这些字符“�”?
我正在阅读带有以下行的文件,但对于每一列,我想用 C# .NET 中的空格替换该字符。
using (var parser = new TextFieldParser("", Encoding.UTF8))
看起来您可以使用自定义错误替换创建 UTF-8 :Encoding
var encoding = Encoding.GetEncoding(
"UTF-8",
null,
new DecoderReplacementFallback(string.Empty));
using (var parser = new TextFieldParser("", encoding)) {
⋮
}
我不知道是否允许编码器后备null
。如果没有,请替换它new EncoderReplacementFallback(string.Empty)
!