如何检测新行字符?

时间:2015-11-15 12:38:20

标签: c# unicode character-encoding newline

我有一个.txt文件,文本分成许多行。但是,在我用C#循环所有字符后,通过以下代码

public static void printChars(string text)
{
    char[] myChars = text.ToCharArray();
    foreach (char ch in myChars)
    {
        System.Console.Write(ch + @" - \u" + ((int)ch).ToString("X4") + ", ");
    }
    System.Console.WriteLine();
}

问题是我看不到任何新的行字符(例如,u000A)或其他东西,因为有很多文本以新行开头(例如u000D)。如何检测那种unicode字符?

1 个答案:

答案 0 :(得分:2)

最明显的解释是您正确编写了代码并使用StreamReader读取文本文件。它的ReadLine()方法从文件返回一行文本而不用行终止符。非常重要的是它以这种方式工作,线路终结器没有很好地标准化。

它不是转换文件内容的唯一方式,其编码也很重要。另一个细节没有很好地标准化,仍然有很多文本文件不使用utf-8。

如果要查看文件中的原始字节,则必须使用FileStream。并且byte []而不是string。