Проблема с чтением файла в C # - PullRequest
3 голосов
/ 25 февраля 2011

У меня есть файл в кодировке cp866. В некоторых местах файл содержит символ 0 в шестнадцатеричном коде. Когда я пытаюсь прочитать этот файл с помощью File.ReadAllText () или streamReader.Read (), это останавливает чтение файла в этом символе. Как решить эту проблему?
[UPDATE]
Я думаю, что символ 0x0 означает конец файла.

Ответы [ 2 ]

4 голосов
/ 25 февраля 2011

Вы ищете что-то подобное?

Encoding encoding = Encoding.GetEncoding(866);
string text = File.ReadAllText("foo.txt", encoding);

Это предполагает, что вы хотите кодовую страницу 866.

Я не знаю достаточно о CP866, чтобы знатьбудет ли он обычно содержать 0 байтов ... но если ваш текстовый файл действителен CP866, то выше следует прочитать его.

1 голос
/ 25 февраля 2011

Хммм.Я думаю, вы должны прочитать файл как двоичный файл, а не как текстовый файл.

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