如何确定CSV文件是否为unicode

时间:2011-10-13 23:39:11

标签: c# unicode

我正在使用C#,我有一个逗号分隔的csv文件,其中包含不同语言的不同字符串。 我的应用程序只应打开CSV,如果它是unicode。

有没有一种简单的方法可以在代码中确定这一点?

2 个答案:

答案 0 :(得分:6)

当你说“Unicode”时,我认为你的意思是UTF-8。 Unicode不是编码,文件不能是“Unicode”。

您可以使用库,例如​​,ude是一个C#库,它试图确定文件使用的编码。它使用算法described here。它不是100%万无一失。

答案 1 :(得分:2)

CSV规范未提供提供描述编码格式的元数据的方法。规范本身使用ASCII编码进行分隔符。但是分隔符之间的数据标记可以是任何东西。

您必须仔细阅读数据并根据该数据推断出编码类型。

如果您控制输出和输入,您可以通过添加自己的元数据来修改它自己需要的格式,但是如果在您的情况下这很重要,那么它将不适合CSV文件格式。

所以不,没有“简单”的方法来确定编码。