Encoding.RegisterProvider(EncodingProvider) 方法

定義

註冊編碼提供者。

public:
 static void RegisterProvider(System::Text::EncodingProvider ^ provider);
[System.Security.SecurityCritical]
public static void RegisterProvider (System.Text.EncodingProvider provider);
public static void RegisterProvider (System.Text.EncodingProvider provider);
[<System.Security.SecurityCritical>]
static member RegisterProvider : System.Text.EncodingProvider -> unit
static member RegisterProvider : System.Text.EncodingProvider -> unit
Public Shared Sub RegisterProvider (provider As EncodingProvider)

參數

provider
EncodingProvider

EncodingProvider 的子類別,提供其他字元編碼方式的存取權。

屬性

例外狀況

providernull

備註

RegisterProvider方法可讓您註冊衍生自 EncodingProvider 的類別,該類別會在不支援的平臺上提供字元編碼。 註冊編碼提供者之後,就可以藉由呼叫任何多載來抓取它支援的編碼 Encoding.GetEncoding 。 如果有多個編碼提供者, Encoding.GetEncoding 方法會嘗試從每個提供者取出指定的編碼(從最近註冊的提供者開始)。

使用方法註冊編碼提供者 RegisterProvider 也會修改編碼的行為。在傳遞的引數時, >encoding.getencoding (Int32) EncodingProvider >encoding.getencoding (Int32,EncoderFallback,DecoderFallback) 方法 0

  • 如果已註冊的提供者是,則在 CodePagesEncodingProvider Windows 作業系統上執行時,方法會傳回符合系統使用中字碼頁的編碼方式。

  • 自訂編碼提供者可以選擇當其中一個方法多載傳遞的引數時,要傳回的編碼方式 GetEncoding 0 。 提供者也可以選擇不要傳回編碼方式,方法是傳回 EncodingProvider.GetEncoding 方法 null

從 .NET Framework 4.6 開始,.NET Framework 包含一個編碼提供者,此提供者可 CodePagesEncodingProvider 讓存在於完整 .NET Framework 但無法在通用 Windows 平臺中使用的編碼。 根據預設,通用 Windows 平臺只支援 Unicode 編碼、ASCII 和字碼頁28591。

如果在多個方法呼叫中使用相同的編碼提供者 RegisterProvider ,則只有第一個方法呼叫會註冊提供者。 後續的呼叫會被忽略。

如果 RegisterProvider 呼叫方法來註冊多個處理相同編碼的提供者,則會使用最後一個註冊的提供者來進行所有編碼和解碼作業。 系統會忽略任何先前註冊的提供者。

適用於

另請參閱