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


Encoding.GetEncoder Метод

Определение

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

public:
 virtual System::Text::Encoder ^ GetEncoder();
public virtual System.Text.Encoder GetEncoder ();
abstract member GetEncoder : unit -> System.Text.Encoder
override this.GetEncoder : unit -> System.Text.Encoder
Public Overridable Function GetEncoder () As Encoder

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

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

Комментарии

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

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

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

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

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