Прочитать на английском

Поделиться через


Encoding.GetEncoder Метод

Определение

При переопределении в производном классе получает кодировщик, который преобразует последовательность символов Юникода в закодированную последовательность байтов.

public virtual System.Text.Encoder GetEncoder();

Возвращаемое значение

Объект Encoder, преобразующий последовательность символов Юникода в закодированную последовательность байтов.

Комментарии

Encoder.GetBytesМетод преобразует последовательные блоки символов в последовательные блоки байтов способом, аналогичным GetBytes методу этого класса. Тем не менее, Encoder сохраняет сведения о состоянии между вызовами, чтобы правильно кодировать последовательности символов, охватывающие блоки. EncoderТакже сохраняет замыкающие символы в конце блоков данных и использует замыкающие символы в следующей операции кодирования. Например, блок данных может заканчиваться непарным старшим символом-заместителем, а соответствующий младший символ-заместитель может находиться в следующем блоке данных. Поэтому GetDecoder они и GetEncoder полезны для передачи по сети и операций с файлами, так как эти операции часто работают с блоками данных, а не с полным потоком данных.

Примечания для тех, кто наследует этот метод

Реализация по умолчанию возвращает объект Encoder , который GetByteCount(Char[]) вызывает GetBytes(Char[]) методы и текущего объекта Encoding . Необходимо переопределить этот метод, чтобы он возвращал объект Encoder , сохраняющий его состояние между вызовами.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел