Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
802 of 1492 menu
◀ ▶

Свойство CurrentEncoding

StreamReader.CurrentEncoding отражает Encoding из конструктора или UTF-8 по умолчанию. Для проверки удобны CodePage и WebName, а не EncodingName - оно зависит от языка ОС. Пишут через StreamWriter в MemoryStream.

Синтаксис

Encoding enc = reader.CurrentEncoding;

Пример

Давайте проверим CodePage у читателя по умолчанию:

using System; using System.IO; class Program { static void Main() { using var ms = new MemoryStream(); using var reader = new StreamReader(ms); int res = reader.CurrentEncoding.CodePage; Console.WriteLine(res); } }

Результат выполнения кода:

65001

Пример

Давайте выведем WebName:

using System; using System.IO; class Program { static void Main() { using var ms = new MemoryStream(); using var reader = new StreamReader(ms); string res = reader.CurrentEncoding.WebName; Console.WriteLine(res); } }

Результат выполнения кода:

"utf-8"

Пример

Давайте явно зададим UTF-8 в конструкторе:

using System; using System.IO; using System.Text; class Program { static void Main() { using var ms = new MemoryStream(); using var reader = new StreamReader( ms, Encoding.UTF8); bool res = reader.CurrentEncoding.CodePage == 65001; Console.WriteLine(res); } }

Результат выполнения кода:

True

Смотрите также

  • StreamWriter,
    который задаёт кодировку записи
  • StreamReader,
    класс, где объявлено свойство
  • Stream,
    байты под текстом
  • MemoryStream,
    буфер в примерах
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить