在 C# 中读取时从不同的编码文件中删除 '?'
Remove '�' from different encoded file when reading in C#
我无法控制我们的一些客户保存文件的编码,当它是 ASCII 时,文件可能缺少字符,然后显示“�”。读取文件后如何删除这些字符'?'?
我正在阅读包含以下行的文件,但对于每一列,我想在 C# .NET 中用空格替换该字符。
using (var parser = new TextFieldParser("", Encoding.UTF8))
看起来您可以 create a 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)
!
我无法控制我们的一些客户保存文件的编码,当它是 ASCII 时,文件可能缺少字符,然后显示“�”。读取文件后如何删除这些字符'?'?
我正在阅读包含以下行的文件,但对于每一列,我想在 C# .NET 中用空格替换该字符。
using (var parser = new TextFieldParser("", Encoding.UTF8))
看起来您可以 create a 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)
!