用iso-8859-2编码

时间:2015-11-04 23:32:06

标签: c# encoding character-encoding

我的代码是:

var previousLines = new HashSet<string>();
File.WriteAllLines("D:\\textfile2.txt", 
                   File.ReadLines("textfile1.txt").Where(line => previousLines.Add(line)),
                   Encoding.GetEncoding("ISO-8859-2")); 

我有两个文本文件。在textfile1.txt我有像ł,±,等等字母的单词。 我想重写所有没有重复的行到文件textfile2.txt,但编码不能按我的预期工作。它吃了一些字母,如ł,±,ę。为什么会这样?

1 个答案:

答案 0 :(得分:2)

您需要使用与编写textfile1.txt时相同的编码。默认情况下,UTF-8用于在File.ReadLines中读取。

如果您在编写时使用过ISO-8859-2,则需要指定它:

File.ReadLines("textfile1.txt", Encoding.GetEncoding("ISO-8859-2"))