UnicodeDecodingConformance 列挙型


Unicode 文字が HtmlDecode メソッドによってどのように解釈されるかを制御します。Controls how Unicode characters are interpreted by the HtmlDecode methods.

public enum class UnicodeDecodingConformance
public enum UnicodeDecodingConformance
type UnicodeDecodingConformance = 
Public Enum UnicodeDecodingConformance


Auto 0

自動動作を使用します。Use automatic behavior. デコードの動作は、現在のアプリケーションのターゲット フレームワークに特定されます。The decoding behavior is determined by current application's target Framework. .NET Framework 4.5.NET Framework 4.5 以降では、Unicode エンコードの復号化は厳密になります。For .NET Framework 4.5.NET Framework 4.5 and later, the Unicode encoding decoding is strict.

Compat 2

互換性のある動作を使用します。Use compatible behavior. 受信データをデコードする前に有効性をチェックしないことを指定します。Specifies that incoming data is not checked for validity before being decoded. たとえば、入力文字列 "�" は U+D84C とデコードされ、これはペアになっていないサロゲートです。For example, an input string of "�" would decode as U+D84C, which is an unpaired surrogate. さらに、デコーダーは HTML エンコードされたサロゲートとして表されていない SMP のコード ポイントを認識しないので、入力文字列 "𣎴" は出力文字列 "𣎴" になります。Additionally, the decoder does not understand code points in the SMP unless they're represented as HTML-encoded surrogates, so the inputstring "𣎴" would result in the output string "𣎴".

Loose 3

柔軟な動作を使用します。Use loose behavior. Compat と同様、デコーダー alsounderstands のコード ポイント以外に有効性の検証がありません。Similar to Compat in that there are no validity checks, but the decoder also understands code points. 入力文字列 "𣎴" は、文字 U+233B4 に正しくデコードされます。The input string "𣎴" would decode into the character U+233B4 correctly. このスイッチは、エンコードされた文字列の生成にプロバイダーが使用した形式をデコーダーが認識できないときに、最大の相互運用性を提供することを意図しています。This switch is meant to provide maximum interoperability when the decoder doesn't know which format the provider is using to generate the encoded string.

Strict 1

厳密な動作を使用します。Use strict behavior. エンコードされた受信データをデコードする前に、有効性をチェックすることを指定します。Specifies that the incoming encoded data is checked for validity before being decoded. たとえば、入力文字列 "𣎴" は U+233B4 とデコードされますが、入力文字列 "��" は正しくデコードされません。For example, an input string of "𣎴" would decode as U+233B4, but an input string of "��" would fail to decode properly. 文字列の中にある既にデコードされたデータでは、有効性のチェックは実行されません。Already-decoded data in the string is not checked for validity. たとえば、"\ud800" という入力文字列からは "\ud800" という出力文字列が生じます。既に復号化されたサロゲートは、たとえ対になっていない場合でも、復号化の際にスキップされるからです。For example, an input string of "\ud800" will result in an output string of "\ud800", as the already-decoded surrogate is skipped during decoding, even though it is unpaired.


Unicode 文字を HTML でエンコードする方法の詳細については、「マークアップと CSS での文字のエスケープの使用」を参照してください。For more information on how Unicode characters are supposed to be encoded in HTML, see Using character escapes in markup and CSS.