Преобразование кодировки файла после чтения StreamReader в Compact Framework - PullRequest
0 голосов
/ 13 марта 2009

Я читаю текстовый файл построчно, пока все хорошо. Я просто использую это:

    using (StreamReader sr = new StreamReader(this._inFilePath))

            {
                string line;
                int index = 0;

                // Read and display lines from the file until the end of 
                // the file is reached:
                while ((line = sr.ReadLine()) != null)
                {
                    //skip empty lines
                    if (line == "")
                    {
                        continue;
                    } 
}
}

Теперь до меня дошло, что мне может понадобиться конвертировать файл в Unicode после прочтения. Как это сделать? Кто-нибудь использует класс Convert?

Ответы [ 2 ]

0 голосов
/ 13 марта 2009

проблема решена:

            using (StreamReader sr = new StreamReader(this._inFilePath, System.Text.Encoding.Default))

очевидно, по умолчанию соответствует ANSI, и были созданы файлы ANSI (не UTF-8).

Спасибо всем за ответы!

0 голосов
/ 13 марта 2009

Вы не можете преобразовать текст в Unicode после чтения, поскольку к тому времени он уже будет строкой, содержащей фактические символы, сопоставленные с кодовыми точками Unicode. В примере кода вы читаете файл как Unicode, поскольку - это стандартное StreamReader поведение .

Что заставляет вас думать, что вы должны что-то конвертировать? Текст поврежден?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...