IdnMapping.UseStd3AsciiRules Property


Gets or sets a value that indicates whether standard or relaxed naming conventions are used in operations performed by members of the current IdnMapping object.

Namespace:   System.Globalization
Assembly:  mscorlib (in mscorlib.dll)

member UseStd3AsciiRules : bool with get, set

Property Value

Type: System.Boolean

true if standard naming conventions are used in operations; otherwise, false.

Domain names that follow standard naming rules consist of a specific subset of characters in the US-ASCII character range. The characters are the letters A through Z, the digits 0 through 9, the hyphen (-) character (U+002D), and the period (.) character. The case of the characters is not significant. Relaxed naming conventions allow the use of a broader range of ASCII characters, including the space character (U+0020), the exclamation point character (U+0021), and the underbar character (U+005F). If UseStd3AsciiRules is true, only standard characters can appear in a label returned by the GetAscii method.

By default, the value of the UseStd3AsciiRules property is false, and an expanded subset of ASCII characters is permitted in a label.


The IdnMapping class prohibits the use of the nondisplayable characters U+0000 through U+001F, and U+007F in domain name labels regardless of the setting of the UseStd3AsciiRules property. This prohibition reduces the risk of security attacks such as name spoofing.

The following example generates URLs that contain characters in the ASCII range from U+0000 to U+007F and passes them to the GetAscii(String) method of two IdnMapping objects. One object has its UseStd3AsciiRules property set to true, and the other object has it set to false. The output displays the characters that are invalid when the UseStd3AsciiRules property is true but valid when it is false.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Return to top