FileInfo.OpenRead () - какой тип кодировки он использует? - PullRequest
2 голосов
/ 01 ноября 2010

Я использую этот метод для записи в объект MemoryStream, который впоследствии сохраняется в двоичном виде в SQL. Он используется для чтения файлов .HTML из файловой системы Windows.

Как узнать, какой тип кодирования эти данные читаются как? Спасибо.

Ответы [ 2 ]

8 голосов
/ 01 ноября 2010

Нет, потому что он открывает двоичный поток. Когда вы, например, оберните поток в StreamReader, в этот момент вы выбираете кодировку. Сам FileStream, возвращаемый методом OpenRead, не основан на тексте и, следовательно, не имеет кодировки.

1 голос
/ 01 ноября 2010

FileInfo.OpenRead возвращает необработанный поток, который не использует никакой кодировки (поскольку он возвращает байты, а не символы).

Кодировки используются для преобразования необработанных байтов в символы Юникода.
В .Net кодировки используются классами StreamReader и StreamWriter, которые работают со строками вместо байтов.

...