【发布时间】:2018-08-28 12:41:43
【问题描述】:
我需要解析一个我得到的 csv 文件,我在解析它时意识到所有字符都已损坏经过一些调查,文件似乎是用 cp1255 编码的,我宁愿避免创建自己的编码器,是否有不同的用 c# 读取文件或将其转换为 utf8 的方法?
编辑:
private static Encoding encoding = Encoding.UTF8;
....
var textReader = new StreamReader(reportCsv, encoding);
var csv = new CsvReader(textReader, new Configuration { BadDataFound = null, Delimiter = delimiter, Encoding = encoding });
我已经尝试了所有 c# 的编码,但什么也没找到。在使用工具检测该文件中使用的编码后,我发现它是用 cp1255 编码的。我认为我没有解码器/编码器那个。
我正在使用 CsvHelper lib 读取 CSV 文件但我相信问题始于 StreamReader。
【问题讨论】:
-
向我们展示你是如何阅读文件的,然后你可能会得到一个有用的、有针对性的答案。
-
您可以使用
File.ReadAllText(path, encoding)读取编码的文本文件,因此您可以选择使用File.ReadAllText(path,Encoding.GetEncoding(1255))读取它 -
鉴于您的编辑...为什么不使用
Encoding.GetEncoding(1255)而不是Encoding.UTF8?
标签: c# encoding character-encoding