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


EncodingProvider.GetEncoding Метод

Определение

Возвращает кодировку.

Перегрузки

GetEncoding(Int32)

Возвращает кодировку, связанную с указанным идентификатором кодовой страницы.

GetEncoding(String)

Возвращает кодировку с указанным именем.

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Возвращает кодировку, связанную с указанным идентификатором кодовой страницы. С помощью параметров задается обработчик ошибок для символов, которые не удается закодировать, и последовательностей байтов, которые не удается декодировать.

GetEncoding(String, EncoderFallback, DecoderFallback)

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

GetEncoding(Int32)

Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs

Возвращает кодировку, связанную с указанным идентификатором кодовой страницы.

public:
 abstract System::Text::Encoding ^ GetEncoding(int codepage);
public abstract System.Text.Encoding GetEncoding (int codepage);
public abstract System.Text.Encoding? GetEncoding (int codepage);
abstract member GetEncoding : int -> System.Text.Encoding
Public MustOverride Function GetEncoding (codepage As Integer) As Encoding

Параметры

codepage
Int32

Идентификатор кодовой страницы запрошенной кодировки.

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

Кодировка, связанная с указанной кодовой страницей, или null, если этот поставщик EncodingProvider не может вернуть допустимую кодировку, соответствующую codepage.

Комментарии

Примечания к вызывающим абонентам

Этот метод вызывается методом Encoding.GetEncoding(Int32). Не следует вызывать его непосредственно из пользовательского кода.

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

Вы переопределяете GetEncoding(Int32) метод , чтобы вернуть кодировку или кодировки, поддерживаемые вашим подклассом EncodingProvider . Когда пользовательский код пытается получить кодировку путем вызова GetEncoding(Int32) метода , метод передает codepage идентификатор каждому зарегистрированным поставщику кодирования до тех пор, пока один не вернет допустимую кодировку. Если ни один из них не возвращает допустимую кодировку GetEncoding(Int32) , метод пытается получить кэшированную кодировку с идентификатором кодовой codepageстраницы . Поэтому, если codepage не является идентификатором кодовой страницы поддерживаемой кодировки, метод должен возвращать null; он никогда не должен вызывать исключение.

Примечания для тех, кто вызывает этот метод

Этот метод вызывается методом GetEncoding(Int32) . Не следует вызывать его непосредственно из пользовательского кода.

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

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

GetEncoding(String)

Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs

Возвращает кодировку с указанным именем.

public:
 abstract System::Text::Encoding ^ GetEncoding(System::String ^ name);
public abstract System.Text.Encoding GetEncoding (string name);
public abstract System.Text.Encoding? GetEncoding (string name);
abstract member GetEncoding : string -> System.Text.Encoding
Public MustOverride Function GetEncoding (name As String) As Encoding

Параметры

name
String

Имя запрошенной кодировки.

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

Кодировка, связанная с указанным именем, или null, если этот поставщик EncodingProvider не может вернуть допустимую кодировку, соответствующую name.

Комментарии

Примечания к наследутелям

Вы переопределяете метод GetEncoding(String), чтобы вернуть кодировку или кодировки, поддерживаемые вашим EncodingProvider подклассом. Когда пользовательский код пытается получить кодировку путем вызова метода GetEncoding(String), метод передает name аргумент каждому зарегистрированным поставщику кодирования до тех пор, пока один не вернет допустимую кодировку. Если ни один из них не возвращает допустимую кодировку, метод GetEncoding(String) пытается получить кэшированную кодировку с именем name. По этой причине, если name не является именем поддерживаемой кодировки, метод должен возвращать null. Единственным случаем, в котором метод должен вызывать исключение, является , если name имеет значение null.

Примечания к вызывающим абонентам

Этот метод вызывается методом Encoding.GetEncoding(String). Не следует вызывать его непосредственно из пользовательского кода.

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

Вы переопределяете GetEncoding(String) метод , чтобы вернуть кодировку или кодировки, поддерживаемые вашим подклассом EncodingProvider . Когда пользовательский код пытается получить кодировку путем вызова GetEncoding(String) метода , метод передает name аргумент каждому зарегистрированным поставщику кодирования до тех пор, пока один не вернет допустимую кодировку. Если ни один из них не возвращает допустимую кодировку GetEncoding(String) , метод пытается получить кэшированную кодировку с именем name. По этой причине, если name не является именем поддерживаемой кодировки, метод должен возвращать null. Единственным случаем, в котором метод должен вызывать исключение, является , если name имеет значение null.

Примечания для тех, кто вызывает этот метод

Этот метод вызывается методом GetEncoding(String) . Не следует вызывать его непосредственно из пользовательского кода.

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

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

GetEncoding(Int32, EncoderFallback, DecoderFallback)

Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs

Возвращает кодировку, связанную с указанным идентификатором кодовой страницы. С помощью параметров задается обработчик ошибок для символов, которые не удается закодировать, и последовательностей байтов, которые не удается декодировать.

public:
 virtual System::Text::Encoding ^ GetEncoding(int codepage, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding (int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
public virtual System.Text.Encoding? GetEncoding (int codepage, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : int * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (codepage As Integer, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

Параметры

codepage
Int32

Идентификатор кодовой страницы запрошенной кодировки.

encoderFallback
EncoderFallback

Объект, предоставляющий процедуру обработки ошибок, когда символ не может быть закодирован с использованием этой кодировки.

decoderFallback
DecoderFallback

Объект, предоставляющий процедуру обработки ошибок, когда последовательность байтов не может быть декодирована с использованием этой кодировки.

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

Кодировка, связанная с указанной кодовой страницей, или null, если этот поставщик EncodingProvider не может вернуть допустимую кодировку, соответствующую codepage.

Комментарии

encoderFallback Параметры и decoderFallback — это объекты, которые определяют стратегию отката, используемую в случае, если кодировщик не может преобразовать символ в последовательность байтов или декодер не может преобразовать последовательность байтов в символ. Платформа .NET Framework предоставляет следующие резервные механизмы:

  • Резервный вариант исключения. encoderFallback Если аргумент является экземпляром EncoderExceptionFallback, или decoderExceptionFallback аргумент является экземпляром DecoderExceptionFallback, метод кодирования создает исключение, если символы не могут быть закодированы, а метод декодирования создает исключение, если последовательность байтов не может быть декодирована.

  • Резервный вариант замены. encoderFallback Если аргумент является экземпляром EncoderReplacementFallback, или decoderExceptionFallback аргумент является экземпляром DecoderReplacementFallback, методы кодирования и декодирования заменяют строку замены для символов, которые не могут быть закодированы, а последовательности байтов не могут быть декодированы. Если вы создаете экземпляр резервного объекта замены путем вызова конструктора без параметров, символ замены — "?". При вызове конструктора EncoderReplacementFallback.EncoderReplacementFallback(String) или DecoderReplacementFallback.DecoderReplacementFallback(String) можно указать строку замены.

  • Оптимальный резервный вариант. Вы можете наследовать EncoderFallback от класса или DecoderFallback для реализации оптимально подходящего механизма замены.

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

Так как вызовы этого метода используют реализацию GetEncoding(Int32) метода , переопределять его не нужно. Когда пользовательский код пытается получить кодировку путем вызова GetEncoding(Int32, EncoderFallback, DecoderFallback) метода , метод передает codepage идентификатор каждому зарегистрированным поставщику кодирования до тех пор, пока один не вернет допустимую кодировку. Если ни один из них не возвращает допустимую кодировку GetEncoding(Int32) , метод пытается получить кэшированную кодировку с идентификатором кодовой codepageстраницы . Поэтому, если вы решите GetEncoding(Int32, EncoderFallback, DecoderFallback) переопределить метод, переопределение должно возвращать null значение , если codepage не является идентификатором кодовой страницы поддерживаемой кодировки; оно никогда не должно вызывать исключение.

Примечания для тех, кто вызывает этот метод

Этот метод вызывается методом GetEncoding(Int32, EncoderFallback, DecoderFallback) . Не следует вызывать его непосредственно из пользовательского кода.

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

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

GetEncoding(String, EncoderFallback, DecoderFallback)

Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs
Исходный код:
EncodingProvider.cs

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

public:
 virtual System::Text::Encoding ^ GetEncoding(System::String ^ name, System::Text::EncoderFallback ^ encoderFallback, System::Text::DecoderFallback ^ decoderFallback);
public virtual System.Text.Encoding GetEncoding (string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
public virtual System.Text.Encoding? GetEncoding (string name, System.Text.EncoderFallback encoderFallback, System.Text.DecoderFallback decoderFallback);
abstract member GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
override this.GetEncoding : string * System.Text.EncoderFallback * System.Text.DecoderFallback -> System.Text.Encoding
Public Overridable Function GetEncoding (name As String, encoderFallback As EncoderFallback, decoderFallback As DecoderFallback) As Encoding

Параметры

name
String

Имя предпочтительной кодировки.

encoderFallback
EncoderFallback

Объект, предоставляющий процедуру обработки ошибок, когда символ не может быть закодирован с использованием этой кодировки.

decoderFallback
DecoderFallback

Объект, предоставляющий процедуру обработки ошибок, когда последовательность байтов не может быть декодирована с использованием текущей кодировки.

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

Кодировка, связанная с указанным именем, или null, если этот поставщик EncodingProvider не может вернуть допустимую кодировку, соответствующую name.

Комментарии

encoderFallback Параметры и decoderFallback — это объекты, которые определяют стратегию отката, используемую в случае, если кодировщик не может преобразовать символ в последовательность байтов или декодер не может преобразовать последовательность байтов в символ. Платформа .NET Framework предоставляет следующие резервные механизмы:

  • Резервный вариант исключения. encoderFallback Если аргумент является экземпляром EncoderExceptionFallback, или decoderExceptionFallback аргумент является экземпляром DecoderExceptionFallback, метод кодирования создает исключение, если символы не могут быть закодированы, а метод декодирования создает исключение, если последовательность байтов не может быть декодирована.

  • Резервный вариант замены. encoderFallback Если аргумент является экземпляром EncoderReplacementFallback, или decoderExceptionFallback аргумент является экземпляром DecoderReplacementFallback, методы кодирования и декодирования заменяют строку замены для символов, которые не могут быть закодированы, а последовательности байтов не могут быть декодированы. Если вы создаете экземпляр резервного объекта замены путем вызова конструктора без параметров, символ замены — "?". При вызове конструктора EncoderReplacementFallback.EncoderReplacementFallback(String) или DecoderReplacementFallback.DecoderReplacementFallback(String) можно указать строку замены.

  • Оптимальный резервный вариант. Вы можете наследовать EncoderFallback от класса или DecoderFallback для реализации оптимально подходящего механизма замены.

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

Так как вызовы этого метода используют реализацию GetEncoding(String) метода , переопределять его не нужно. Когда пользовательский код пытается получить кодировку путем вызова GetEncoding(String, EncoderFallback, DecoderFallback) метода , метод передает codepage идентификатор каждому зарегистрированным поставщику кодирования до тех пор, пока один не вернет допустимую кодировку. Если ни один из них не возвращает допустимую кодировку GetEncoding(Int32) , метод пытается получить кэшированную кодировку с идентификатором кодовой codepageстраницы . Поэтому, если вы решите GetEncoding(Int32, EncoderFallback, DecoderFallback) переопределить метод, переопределение должно возвращать null значение , если codepage не является идентификатором кодовой страницы поддерживаемой кодировки; оно никогда не должно вызывать исключение.

Примечания для тех, кто вызывает этот метод

Этот метод вызывается методом GetEncoding(String, EncoderFallback, DecoderFallback) . Не следует вызывать его непосредственно из пользовательского кода.

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

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