Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
UnicodeDecodingConformance Enumeration

UnicodeDecodingConformance Enumeration

.NET Framework 4.6 and 4.5

Controls how Unicode characters are interpreted by the HtmlDecode methods.

Namespace:  System.Net.Configuration
Assembly:  System (in System.dll)

public enum UnicodeDecodingConformance

Member nameDescription
AutoUse automatic behavior. The decoding behavior is determined by current application's target Framework. For .NET Framework 4.5 and later, the Unicode encoding decoding is strict.
CompatUse compatible behavior. Specifies that incoming data is not checked for validity before being decoded. For example, an input string of "�" would decode as U+D84C, which is an unpaired surrogate. 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 "𣎴".
LooseUse loose behavior. Similar to Compat in that there are no validity checks, but the decoder also understands code points. 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.
StrictUse strict behavior. Specifies that the incoming encoded data is checked for validity before being decoded. 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. 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.

For more information on how Unicode characters are supposed to be encoded in HTML, see Using character escapes in markup and CSS.

.NET Framework

Supported in: 4.6, 4.5
© 2015 Microsoft