【问题标题】:StreamReader C# does not read å, ä, öStreamReader C# 不读取 å、ä、ö
【发布时间】:2022-01-21 22:50:08
【问题描述】:

我有一个StreamReader 正在读取如下文件以读取.csv 文件:

using (StreamReader sr = new StreamReader(filePath, System.Text.Encoding.GetEncoding("iso-8859-1")))
{
    string line = string.Empty;
    line = sr.ReadLine()
}

文件的第一行是:å ä ö Ü(用于测试目的)。但是,当我尝试读取文件时,C# 并没有按应有的方式读取字符:

知道这是为什么吗?

【问题讨论】:

  • 文件的编码是什么?
  • 如果您采用 UTF-8 编码的“å ä ö Ü”(这可能是 CSV 文件编码方式的候选者),然后将其解码,则您获得的字符串与您获得的字符串相匹配作为 iso-8859-1
  • 所有文本都必须有编码。否则它将是原始字节。编码是赋予这些字节意义的原因。

标签: c# special-characters


【解决方案1】:

删除编码或选择正确的编码。我使用这种语法没有任何问题

    string str = string.Empty;
    using (StreamReader r = new StreamReader(@"C:\..."))
        str = r.ReadToEnd();

输出

å ä ö Ü

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2011-07-30
    • 2017-04-04
    • 1970-01-01
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多