Какова кодировка строки, полученной из StreamReader.ReadLine ()

Сначала посмотрим на код:

//The encoding of utf8.txt is UTF-8
StreamReader reader = new StreamReader(@"C:\\utf8.txt", Encoding.UTF8, true);
while (reader.Peek() > 0)
{
    //What is the encoding of lineFromTxtFile?
    string lineFromTxtFile = reader.ReadLine();
}

Как сказал Джоэл в своей знаменитой статье :

Если у вас есть строка, в памяти, в файле или в сообщении электронной почты, вы должны знать, в какой она кодировке, иначе вы не сможете интерпретировать или правильно отображать его для пользователей »

Итак, вот мой вопрос: какова кодировка строки lineFromTxtFile ? UTF-8 (потому что это из текстового файла, закодированного в UTF-8) ? или UTF-16 (поскольку строка в .NET - это "Unicode" (UTF-16))?

Спасибо.

7
задан jjooeell 11 November 2011 в 04:33
поделиться