我有一个.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字符?
答案 0 :(得分:2)
最明显的解释是您正确编写了代码并使用StreamReader读取文本文件。它的ReadLine()方法从文件返回一行文本而不用行终止符。非常重要的是它以这种方式工作,线路终结器没有很好地标准化。
它不是转换文件内容的唯一方式,其编码也很重要。另一个细节没有很好地标准化,仍然有很多文本文件不使用utf-8。
如果要查看文件中的原始字节,则必须使用FileStream。并且byte []而不是string。