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 они полезны для сетевых операций передачи и файлов, так как эти операции часто имеют дело с блоками данных вместо полного потока данных.
Примечания для тех, кто наследует этот метод
Реализация по умолчанию возвращает вызовы EncoderGetByteCount(Char[]) и GetBytes(Char[]) методы текущего Encoding. Чтобы вернуть Encoder состояние между вызовами, необходимо переопределить этот метод.