c#将cp1255编码转换为utf8

时间:2018-03-19 20:18:22

标签: c# encoding character-encoding

我需要解析一个我得到的csv文件,我意识到在解析它时所有的字符都被破坏了一些调查之后它似乎是用cp1255编码的文件,我宁愿避免创建我自己的编码器,是否有不同的用c#读取文件或将其转换为utf8的方法?

编辑:

price = 0x1
last_update = 0x8

我已经尝试了所有编码c#找到我而没有...使用工具检测该文件中使用的编码后我发现它是用cp1255编码的。我不认为我有一个解码器/编码器这一点。

我正在使用CsvHelper lib来读取CSV文件但我相信问题始于StreamReader。

1 个答案:

答案 0 :(得分:1)

由于您没有粘贴任何代码,因此很难提供帮助......

但是c#中的每个File函数都有一个编码参数,您可以在其中指定您正在阅读的文件的编码,例如:

File.ReadAllLines(String, Encoding)

可以使用Encoding类创建编码,例如。对于cp850:

Encoding encoding = Encoding.GetEncoding(850);

您可以阅读有关编码的更多信息(好文章)here

另外想知道为什么要将它转换为utf-8? c#是原生的utf-16。

修改

由于该项目基于.net核心,因此必须根据此so post进行额外的代码页注册。