понедельник, 31 октября 2011
Я тут узнал где какая кодировка используется по умолчанию:
Консоль Windows XP rus -- cp866
C# -- Unicode
Windows XP -- cp1251
читать дальше
здесь так:
Windows XP rus = Microsoft Windows XP professional SP3 rus
Консоль Windows XP = cmd.exe = командная строка
С# = Microsoft Visual Studio 2010 Express
cp1251 = Windows-1251
cp1251 используется в текстовых файлах .txt. Определяется через редактор Notepad++ как ANSI. Через этот же Notepad++ можно изменить кодировку, например на Unicode. Сделав это мы получим правильное отображение русских текстовых файлов при выводе их на консоль через C#.
Но по хорошему код вывода содержимого текстового файла на экран выглядит так:
string path = @"D:\q02.txt";
using (StreamReader sr = new StreamReader(path, Encoding.Default))
{
int i = 0;
string s = sr.ReadLine();
while (s != null)
{
Console.WriteLine(s);
s = sr.ReadLine();
i++;
}
}
Т.е. когда создаем поток чтения, то сразу говорим что у нас будет применяться стандартная кодировка операционной системы пользователя (Encoding.Default).
@темы:
программирование,
IT
P.S. Почему Express? Юзай DreamSpark пока есть возможность