我正在导入一个csv文件,在读取该文件时,在读取的字符串中会出现特殊字符,如`` '',以及如何避免这些unicode字符。
我正在使用TextFieldParser解析数据,但是在读取时,句子中两个字符串之间的空格被替换为字符``。 试图进行包含字符串搜索并替换字符,但是特殊字符以后可能会有所不同。
Encoding DefaultEncoding = Encoding.UTF8;
public IList ReadCsvData()
{
using (var reader = ReadBase64File())
{
return CsvParser.ReadCsvData(reader);
}
}
TextReader ReadBase64File()
{
var bytes = Convert.FromBase64String(base64File);
return new StreamReader(new MemoryStream(bytes), DefaultEncoding, true);
}
public static IList ReadCsvData(TextReader reader)
{
IList csvData = new List();
using (Microsoft.VisualBasic.FileIO.TextFieldParser parser = new Microsoft.VisualBasic.FileIO.TextFieldParser(reader))
{
parser.SetDelimiters(",");
parser.TrimWhiteSpace = true;
try
{
while (!parser.EndOfData)
{
csvData.Add(parser.ReadFields());
}
}
catch (Microsoft.VisualBasic.FileIO.MalformedLineException ex)
{
throw new FormatException($"Invalid format found when importing the CSV data (line {parser.ErrorLineNumber}).", ex);
}
}
return csvData;
}