This documentation is archived and is not being maintained.

IdnMapping::GetAscii Method (String, Int32, Int32)

Encodes a substring of one or more domain name labels that consist of Unicode characters to a string of Unicode characters in the US-ASCII character range. The string is formatted according to the Internationalizing Domain Names in Applications (IDNA) standard.

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

public:
String^ GetAscii(
	String^ unicode, 
	int index, 
	int count
)

Parameters

unicode
Type: System::String
An input string to convert, which consists of one or more domain name labels delimited with label separators.
index
Type: System::Int32
A zero-based offset into unicode that specifies the start of the substring.
count
Type: System::Int32
The number of characters to convert in the substring that starts at the position specified by unicode and index.

Return Value

Type: System::String
The equivalent of the substring specified by the unicode, index, and count parameters, consisting of displayable Unicode characters in the US-ASCII character range (U+0020 to U+007E) and formatted according to the IDNA standard.

ExceptionCondition
ArgumentNullException

unicode is nullptr.

ArgumentOutOfRangeException

index or count is less than zero.

-or-

index is greater than the length of unicode.

-or-

index is greater than the length of unicode minus count.

ArgumentException

unicode is invalid based on the AllowUnassigned and UseStd3AsciiRules properties, and the IDNA standard.

-or-

A label contains one or more of the Unicode control characters from U+0001 through U+001F, or U+007F.

The unicode parameter is a string of one or more labels that consist of valid Unicode characters. The labels are separated by label separators. For example, the domain name "www.microsoft.com" consists of the labels, "www", "microsoft", and "com" separated by periods.

A label cannot contain any Unicode control character from U+0001 through U+001F, or U+007F.

The unicode parameter cannot begin with a label separator, but can contain and optionally end with a separator. The label separators are FULL STOP (period, U+002E), IDEOGRAPHIC FULL STOP (U+3002), FULLWIDTH FULL STOP (U+FF0E), or HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61). The GetAscii method converts all label separators to FULL STOP.

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.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: