我的文本文件有错误的BOM(FF FE,但文本的实际编码是ISO-8859-9)。 我试试这段代码:
Encoding encoding = Encoding.GetEncoding("iso-8859-9");
string content = File.ReadAllText(@"D:\Documents\test.txt", encoding);
但它不起作用 - 字符集被打破了。 有人可以帮我读一下这个文件吗?
答案 0 :(得分:0)
正如Adriano在评论中已提到的,您可能需要跳过文件的前两个字节。这可以通过使用
来完成byte[] rawdata = File.ReadAllBytes("...");
byte[] correctedRawdata = rawdata.Skip(2).ToArray();
Encoding encoder = Encoding.GetEncoding("iso-8859-9");
string text = encoder.GetString(correctedRawdata);