This documentation is archived and is not being maintained.

IdnMapping Class

Supports the use of non-ASCII characters for Internet domain names. This class cannot be inherited.

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

public ref class IdnMapping sealed

An Internet domain name consists of one or more parts, called domain name labels, separated by label separators. For example, the domain name "" consists of the labels, "www", "microsoft", and "com" separated by periods.

The Internationalizing Domain Names in Applications (IDNA) mechanism maps an internationalized domain name that contains Unicode characters outside the US-ASCII character range to an IDNA domain name that consists of Unicode characters solely in the displayable US-ASCII character range. The IDNA mechanism is used to convert only domain names, not data transmitted over the Internet.

The IdnMapping class embodies and extends the IDNA mechanism. The GetAscii method normalizes a domain name, converts the normalized name to a representation that consists of displayable Unicode characters in the US-ASCII code point range (U+0020 to U+007E), and prepends an ASCII Compatible Encoding prefix ("xn--") to each label.

The label separator characters IDEOGRAPHIC FULL STOP (U+3002), FULLWIDTH FULL STOP (U+FF0E), and HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61) are converted to the label separator FULL STOP (period, U+002E).

For more information, see the RFC 3490 standard, "Internationalizing Domain Names in Applications," at Request for Comments (RFC).

The following code example uses the GetAscii(String, Int32, Int32) method to convert a domain name to a domain name that complies with the IDNA standard. The GetUnicode(String, Int32, Int32) method then converts the standardized domain name back into the original domain name, except that the original label separators are replaced with the standard label separator.

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


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0