IdnMapping.GetAscii Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A tartománynévcímkék olyan sztringjét kódolja, amely a US-ASCII karaktertartományon kívüli Unicode-karaktereket tartalmaz a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringre (U+0020–U+007E). A sztring az IDNA szabvány szerint van formázva.
Túlterhelések
| Name | Description |
|---|---|
| GetAscii(String) |
Unicode-karakterekből álló tartománynév-sztringet kódol a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringre. A sztring az IDNA szabvány szerint van formázva. |
| GetAscii(String, Int32) |
A tartománynévcímkék olyan alsztringjeinek kódolása, amelyek Unicode-karaktereket tartalmaznak a US-ASCII karaktertartományon kívül. Az alsztring a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringgé alakul, és az IDNA szabványnak megfelelően van formázva. |
| GetAscii(String, Int32, Int32) |
A megadott számú karaktert kódolja a tartománynévcímkék olyan részsztringjeiben, amelyek unicode karaktereket tartalmaznak a US-ASCII karaktertartományon kívül. Az alsztring a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringgé alakul, és az IDNA szabványnak megfelelően van formázva. |
GetAscii(String)
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
Unicode-karakterekből álló tartománynév-sztringet kódol a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringre. A sztring az IDNA szabvány szerint van formázva.
public:
System::String ^ GetAscii(System::String ^ unicode);
public string GetAscii(string unicode);
member this.GetAscii : string -> string
Public Function GetAscii (unicode As String) As String
Paraméterek
- unicode
- String
Az átalakítandó sztring, amely egy vagy több, címkeelválasztókkal tagolt tartománynévcímkéből áll.
Válaszok
A paraméter által unicode megadott karakterlánc megfelelője, amely megjeleníthető Unicode-karakterekből áll a US-ASCII karaktertartományban (U+0020–U+007E), és az IDNA szabványnak megfelelően formázva.
Kivételek
unicode az null.
unicodea tulajdonság és AllowUnassigned a UseStd3AsciiRules tulajdonságok, valamint az IDNA szabvány alapján érvénytelen.
Példák
Az alábbi példa a GetAscii(String) nemzetközi tartománynevek tömbjének Punycode-ra való konvertálására szolgál, amely egy kódolt egyenértékű, amely a US-ASCII karaktertartományban lévő karakterekből áll. A GetUnicode(String) metódus ezután visszakonvertálja a Punycode tartománynevet az eredeti tartománynévre, de az eredeti címkeelválasztókat lecseréli a szabványos címkeelválasztóra.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] names = { "bücher.com", "мойдомен.рф", "παράδειγμα.δοκιμή",
"mycharity\u3002org",
"prose\u0000ware.com", "proseware..com", "a.org",
"my_company.com" };
IdnMapping idn = new IdnMapping();
foreach (var name in names) {
try {
string punyCode = idn.GetAscii(name);
string name2 = idn.GetUnicode(punyCode);
Console.WriteLine("{0} --> {1} --> {2}", name, punyCode, name2);
Console.WriteLine("Original: {0}", ShowCodePoints(name));
Console.WriteLine("Restored: {0}", ShowCodePoints(name2));
}
catch (ArgumentException) {
Console.WriteLine("{0} is not a valid domain name.", name);
}
Console.WriteLine();
}
}
private static string ShowCodePoints(string str1)
{
string output = "";
foreach (var ch in str1)
output += $"U+{(ushort)ch:X4} ";
return output;
}
}
// The example displays the following output:
// bücher.com --> xn--bcher-kva.com --> bücher.com
// Original: U+0062 U+00FC U+0063 U+0068 U+0065 U+0072 U+002E U+0063 U+006F U+006D
// Restored: U+0062 U+00FC U+0063 U+0068 U+0065 U+0072 U+002E U+0063 U+006F U+006D
//
// мойдомен.рф --> xn--d1acklchcc.xn--p1ai --> мойдомен.рф
// Original: U+043C U+043E U+0439 U+0434 U+043E U+043C U+0435 U+043D U+002E U+0440 U+0444
// Restored: U+043C U+043E U+0439 U+0434 U+043E U+043C U+0435 U+043D U+002E U+0440 U+0444
//
// παράδειγμα.δοκιμή --> xn--hxajbheg2az3al.xn--jxalpdlp --> παράδειγμα.δοκιμή
// Original: U+03C0 U+03B1 U+03C1 U+03AC U+03B4 U+03B5 U+03B9 U+03B3 U+03BC U+03B1 U+002E U+03B4 U+03BF U+03BA U+03B9 U+03BC U+03AE
// Restored: U+03C0 U+03B1 U+03C1 U+03AC U+03B4 U+03B5 U+03B9 U+03B3 U+03BC U+03B1 U+002E U+03B4 U+03BF U+03BA U+03B9 U+03BC U+03AE
//
// mycharity。org --> mycharity.org --> mycharity.org
// Original: U+006D U+0079 U+0063 U+0068 U+0061 U+0072 U+0069 U+0074 U+0079 U+3002 U+006F U+0072 U+0067
// Restored: U+006D U+0079 U+0063 U+0068 U+0061 U+0072 U+0069 U+0074 U+0079 U+002E U+006F U+0072 U+0067
//
// prose ware.com is not a valid domain name.
//
// proseware..com is not a valid domain name.
//
// a.org --> a.org --> a.org
// Original: U+0061 U+002E U+006F U+0072 U+0067
// Restored: U+0061 U+002E U+006F U+0072 U+0067
//
// my_company.com --> my_company.com --> my_company.com
// Original: U+006D U+0079 U+005F U+0063 U+006F U+006D U+0070 U+0061 U+006E U+0079 U+002E U+0063 U+006F U+006D
// Restored: U+006D U+0079 U+005F U+0063 U+006F U+006D U+0070 U+0061 U+006E U+0079 U+002E U+0063 U+006F U+006D
Imports System.Globalization
Module Example
Public Sub Main()
Dim names() As String = { "bücher.com", "мойдомен.рф", "παράδειγμα.δοκιμή",
"mycharity" + ChrW(&h3002) + "org",
"prose" + ChrW(0) + "ware.com", "proseware..com", "a.org",
"my_company.com" }
Dim idn As New IdnMapping()
For Each name In names
Try
Dim punyCode As String = idn.GetAscii(name)
Dim name2 As String = idn.GetUnicode(punyCode)
Console.WriteLine("{0} --> {1} --> {2}", name, punyCode, name2)
Console.WriteLine("Original: {0}", ShowCodePoints(name))
Console.WriteLine("Restored: {0}", ShowCodePoints(name2))
Catch e As ArgumentException
Console.WriteLine("{0} is not a valid domain name.", name)
End Try
Console.WriteLine()
Next
End Sub
Private Function ShowCodePoints(str1 As String) As String
Dim output As String = ""
For Each ch In str1
output += String.Format("U+{0} ", Convert.ToUInt16(ch).ToString("X4"))
Next
Return output
End Function
End Module
' The example displays the following output:
' bücher.com --> xn--bcher-kva.com --> bücher.com
' Original: U+0062 U+00FC U+0063 U+0068 U+0065 U+0072 U+002E U+0063 U+006F U+006D
' Restored: U+0062 U+00FC U+0063 U+0068 U+0065 U+0072 U+002E U+0063 U+006F U+006D
'
' мойдомен.рф --> xn--d1acklchcc.xn--p1ai --> мойдомен.рф
' Original: U+043C U+043E U+0439 U+0434 U+043E U+043C U+0435 U+043D U+002E U+0440 U+0444
' Restored: U+043C U+043E U+0439 U+0434 U+043E U+043C U+0435 U+043D U+002E U+0440 U+0444
'
' παράδειγμα.δοκιμή --> xn--hxajbheg2az3al.xn--jxalpdlp --> παράδειγμα.δοκιμή
' Original: U+03C0 U+03B1 U+03C1 U+03AC U+03B4 U+03B5 U+03B9 U+03B3 U+03BC U+03B1 U+002E U+03B4 U+03BF U+03BA U+03B9 U+03BC U+03AE
' Restored: U+03C0 U+03B1 U+03C1 U+03AC U+03B4 U+03B5 U+03B9 U+03B3 U+03BC U+03B1 U+002E U+03B4 U+03BF U+03BA U+03B9 U+03BC U+03AE
'
' mycharity。org --> mycharity.org --> mycharity.org
' Original: U+006D U+0079 U+0063 U+0068 U+0061 U+0072 U+0069 U+0074 U+0079 U+3002 U+006F U+0072 U+0067
' Restored: U+006D U+0079 U+0063 U+0068 U+0061 U+0072 U+0069 U+0074 U+0079 U+002E U+006F U+0072 U+0067
'
' prose ware.com is not a valid domain name.
'
' proseware..com is not a valid domain name.
'
' a.org --> a.org --> a.org
' Original: U+0061 U+002E U+006F U+0072 U+0067
' Restored: U+0061 U+002E U+006F U+0072 U+0067
'
' my_company.com --> my_company.com --> my_company.com
' Original: U+006D U+0079 U+005F U+0063 U+006F U+006D U+0070 U+0061 U+006E U+0079 U+002E U+0063 U+006F U+006D
' Restored: U+006D U+0079 U+005F U+0063 U+006F U+006D U+0070 U+0061 U+006E U+0079 U+002E U+0063 U+006F U+006D
Megjegyzések
A unicode paraméter egy vagy több érvényes Unicode-karakterből álló címkéből álló sztringet ad meg. A címkéket címkeelválasztók választják el egymástól. A unicode paraméter nem kezdődhet címkeelválasztóval, de tartalmazhat és opcionálisan elválasztójellel is végződhet. A címkeelválasztók full STOP (period, U+002E), IDEOGRAPHIC FULL STOP (U+3002), FULLWIDTH FULL STOP (U+FF0E) és HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61). A "www.adatum.com" tartománynév például a "www", "adatum" és "com" címkékből áll, pontokkal elválasztva.
A címke nem tartalmazhat a következő karakterek egyikét sem:
Unicode-vezérlőkarakterek az U+0001-től az U+001F-n át az U+007F-ig.
Nem hozzárendelt Unicode-karakterek, ha a AllowUnassigned tulajdonság értéke .
falseA US-ASCII karaktertartomány nem szabványos karakterei, például a SZÓKÖZ (U+0020), FELKIÁLTÓJEL (U+0021) és LOW LINE (U+005F) karakterek, ha a UseStd3AsciiRules tulajdonság
trueértéke .Az IDNA szabvány egy adott verziója által tiltott karakterek. A tiltott karakterekről további információt az RFC 3454: Internationalizált sztringek ("stringprep") előkészítése az IDNA 2003 és az RFC 5982: The Unicode Code Points and Internationalized Domain Names for Applications for IDNA 2008 című témakörben talál.
A GetAscii metódus az összes címkeelválasztót FULL STOP (pont, U+002E) értékűre alakítja.
Ha unicode a US-ASCII karaktertartományon kívül nem tartalmaz karaktereket, és a US-ASCII karaktertartományon belüli karakterek nem tiltottak, a metódus változatlanul tér vissza unicode .
Megjegyzések a hívókhoz
A .NET Framework 4.5-ben a IdnMapping osztály az IDNA szabvány különböző verzióit támogatja a használt operációs rendszertől függően:
Ha Windows 8 fut, támogatja a RFC 5891: Internationalized Domain Names in Applications (IDNA): Protocol által felvázolt IDNA szabvány 2008-at.
Ha az Windows operációs rendszer korábbi verzióin fut, támogatja a RFC 3490: Domain Names in Applications (IDNA) által felvázolt szabvány 2003-at.
Tekintse meg a Unicode Technical Standard #46: IDNA kompatibilitási feldolgozás című témakört, amely ismerteti, hogy a szabványok hogyan kezelik az adott karakterkészleteket.
A következőre érvényes:
GetAscii(String, Int32)
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
A tartománynévcímkék olyan alsztringjeinek kódolása, amelyek Unicode-karaktereket tartalmaznak a US-ASCII karaktertartományon kívül. Az alsztring a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringgé alakul, és az IDNA szabványnak megfelelően van formázva.
public:
System::String ^ GetAscii(System::String ^ unicode, int index);
public string GetAscii(string unicode, int index);
member this.GetAscii : string * int -> string
Public Function GetAscii (unicode As String, index As Integer) As String
Paraméterek
- unicode
- String
Az átalakítandó sztring, amely egy vagy több, címkeelválasztókkal tagolt tartománynévcímkéből áll.
- index
- Int32
Nulla alapú eltolás, unicode amely az átalakítandó részstring kezdetét határozza meg. A konvertálási művelet a sztring végéig unicode folytatódik.
Válaszok
A US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből (U+0020–U+007E) álló, az IDNA szabványnak megfelelően formázott részszűrés unicodeindex megfelelője.
Kivételek
unicode az null.
unicodea tulajdonság és AllowUnassigned a UseStd3AsciiRules tulajdonságok, valamint az IDNA szabvány alapján érvénytelen.
Megjegyzések
A unicode paraméterek egy index vagy több érvényes Unicode-karakterből álló címkével rendelkező részszűrést határoznak meg. A címkéket címkeelválasztók választják el egymástól. Az alsztring első karaktere nem kezdődhet címkeelválasztóval, de tartalmazhat és opcionálisan elválasztójellel is végződhet. A címkeelválasztók full STOP (period, U+002E), IDEOGRAPHIC FULL STOP (U+3002), FULLWIDTH FULL STOP (U+FF0E) és HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61). A "www.adatum.com" tartománynév például a "www", "adatum" és "com" címkékből áll, pontokkal elválasztva.
A címke nem tartalmazhat a következő karakterek egyikét sem:
Unicode-vezérlőkarakterek az U+0001-től az U+001F-n át az U+007F-ig.
Nem hozzárendelt Unicode-karakterek a tulajdonság értékétől AllowUnassigned függően.
A US-ASCII karaktertartomány nem szabványos karakterei, például a SZÓKÖZ (U+0020), FELKIÁLTÓJEL (U+0021) és LOW LINE (U+005F) karakterek a UseStd3AsciiRules tulajdonság értékétől függően.
Az IDNA szabvány egy adott verziója által tiltott karakterek. A tiltott karakterekről további információt az RFC 3454: Internationalizált sztringek ("stringprep") előkészítése az IDNA 2003 és az RFC 5982: The Unicode Code Points and Internationalized Domain Names for Applications for IDNA 2008 című témakörben talál.
A GetAscii metódus az összes címkeelválasztót FULL STOP (pont, U+002E) értékűre alakítja.
Ha unicode a US-ASCII karaktertartományon kívül nem tartalmaz karaktereket, és a US-ASCII karaktertartományon belüli karakterek nem tiltottak, a metódus változatlanul tér vissza unicode .
Megjegyzések a hívókhoz
A .NET Framework 4.5-ben a IdnMapping osztály az IDNA szabvány különböző verzióit támogatja a használt operációs rendszertől függően:
Ha Windows 8 fut, támogatja a RFC 5891: Internationalized Domain Names in Applications (IDNA): Protocol által felvázolt IDNA szabvány 2008-at.
Ha az Windows operációs rendszer korábbi verzióin fut, támogatja a RFC 3490: Domain Names in Applications (IDNA) által felvázolt szabvány 2003-at.
Tekintse meg a Unicode Technical Standard #46: IDNA kompatibilitási feldolgozás című témakört, amely ismerteti, hogy a szabványok hogyan kezelik az adott karakterkészleteket.
A következőre érvényes:
GetAscii(String, Int32, Int32)
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
- Forrás:
- IdnMapping.cs
A megadott számú karaktert kódolja a tartománynévcímkék olyan részsztringjeiben, amelyek unicode karaktereket tartalmaznak a US-ASCII karaktertartományon kívül. Az alsztring a US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből álló sztringgé alakul, és az IDNA szabványnak megfelelően van formázva.
public:
System::String ^ GetAscii(System::String ^ unicode, int index, int count);
public string GetAscii(string unicode, int index, int count);
member this.GetAscii : string * int * int -> string
Public Function GetAscii (unicode As String, index As Integer, count As Integer) As String
Paraméterek
- unicode
- String
Az átalakítandó sztring, amely egy vagy több, címkeelválasztókkal tagolt tartománynévcímkéből áll.
- index
- Int32
Nulla alapú eltolás unicode , amely a részszúrás kezdetét határozza meg.
- count
- Int32
A sztringben megadott indexunicode pozíciótól kezdődő alsztringben konvertálandó karakterek száma.
Válaszok
A US-ASCII karaktertartományban megjeleníthető Unicode-karakterekből (U+0020–unicodeU+007E) és az IDNA szabványnak megfelelően formázott , a , indexés paraméterek által countmegadott részszúrás megfelelője.
Kivételek
unicode az null.
index vagy count kisebb, mint nulla.
-vagy-
index nagyobb, mint a hossza unicode.
-vagy-
indexnagyobb, mint a mínusz unicodehosszacount.
unicodea tulajdonság és AllowUnassigned a UseStd3AsciiRules tulajdonságok, valamint az IDNA szabvány alapján érvénytelen.
Példák
Az alábbi példa egy GetAscii(String, Int32, Int32) nemzetközi tartománynevet az IDNA szabványnak megfelelő tartománynévvé alakít át. A GetUnicode(String, Int32, Int32) metódus ezután visszakonvertálja a szabványosított tartománynevet az eredeti tartománynévre, de az eredeti címkeelválasztókat lecseréli a szabványos címkeelválasztóra.
// This example demonstrates the GetAscii and GetUnicode methods.
// For sake of illustration, this example uses the most complex
// form of those methods, not the most convenient.
using System;
using System.Globalization;
class Sample
{
public static void Main()
{
/*
Define a domain name consisting of the labels: GREEK SMALL LETTER
PI (U+03C0); IDEOGRAPHIC FULL STOP (U+3002); GREEK SMALL LETTER
THETA (U+03B8); FULLWIDTH FULL STOP (U+FF0E); and "com".
*/
string name = "\u03C0\u3002\u03B8\uFF0Ecom";
string international;
string nonInternational;
string msg1 = "the original non-internationalized \ndomain name:";
string msg2 = "Allow unassigned characters?: {0}";
string msg3 = "Use non-internationalized rules?: {0}";
string msg4 = "Convert the non-internationalized domain name to international format...";
string msg5 = "Display the encoded domain name:\n\"{0}\"";
string msg6 = "the encoded domain name:";
string msg7 = "Convert the internationalized domain name to non-international format...";
string msg8 = "the reconstituted non-internationalized \ndomain name:";
string msg9 = "Visually compare the code points of the reconstituted string to the " +
"original.\n" +
"Note that the reconstituted string contains standard label " +
"separators (U+002e).";
// ----------------------------------------------------------------------------
CodePoints(name, msg1);
// ----------------------------------------------------------------------------
IdnMapping idn = new IdnMapping();
Console.WriteLine(msg2, idn.AllowUnassigned);
Console.WriteLine(msg3, idn.UseStd3AsciiRules);
Console.WriteLine();
// ----------------------------------------------------------------------------
Console.WriteLine(msg4);
international = idn.GetAscii(name, 0, name.Length);
Console.WriteLine(msg5, international);
Console.WriteLine();
CodePoints(international, msg6);
// ----------------------------------------------------------------------------
Console.WriteLine(msg7);
nonInternational = idn.GetUnicode(international, 0, international.Length);
CodePoints(nonInternational, msg8);
Console.WriteLine(msg9);
}
// ----------------------------------------------------------------------------
static void CodePoints(string value, string title)
{
Console.WriteLine("Display the Unicode code points of {0}", title);
foreach (char c in value)
{
Console.Write("{0:x4} ", Convert.ToInt32(c));
}
Console.WriteLine();
Console.WriteLine();
}
}
/*
This code example produces the following results:
Display the Unicode code points of the original non-internationalized
domain name:
03c0 3002 03b8 ff0e 0063 006f 006d
Allow unassigned characters?: False
Use non-internationalized rules?: False
Convert the non-internationalized domain name to international format...
Display the encoded domain name:
"xn--1xa.xn--txa.com"
Display the Unicode code points of the encoded domain name:
0078 006e 002d 002d 0031 0078 0061 002e 0078 006e 002d 002d 0074 0078 0061 002e 0063 006f
006d
Convert the internationalized domain name to non-international format...
Display the Unicode code points of the reconstituted non-internationalized
domain name:
03c0 002e 03b8 002e 0063 006f 006d
Visually compare the code points of the reconstituted string to the original.
Note that the reconstituted string contains standard label separators (U+002e).
*/
' This example demonstrates the GetAscii and GetUnicode methods.
' For sake of illustration, this example uses the most complex
' form of those methods, not the most convenient.
Imports System.Globalization
Class Sample
Public Shared Sub Main()
' Define a domain name consisting of the labels: GREEK SMALL LETTER
' PI (U+03C0); IDEOGRAPHIC FULL STOP (U+3002); GREEK SMALL LETTER
' THETA (U+03B8); FULLWIDTH FULL STOP (U+FF0E); and "com".
Dim name As String = "π。θ.com"
Dim international As String
Dim nonInternational As String
Dim msg1 As String = "the original non-internationalized " & vbCrLf & "domain name:"
Dim msg2 As String = "Allow unassigned characters?: {0}"
Dim msg3 As String = "Use non-internationalized rules?: {0}"
Dim msg4 As String = "Convert the non-internationalized domain name to international format..."
Dim msg5 As String = "Display the encoded domain name:" & vbCrLf & """{0}"""
Dim msg6 As String = "the encoded domain name:"
Dim msg7 As String = "Convert the internationalized domain name to non-international format..."
Dim msg8 As String = "the reconstituted non-internationalized " & vbCrLf & "domain name:"
Dim msg9 As String = "Visually compare the code points of the reconstituted string to the " & _
"original." & vbCrLf & _
"Note that the reconstituted string contains standard label " & _
"separators (U+002e)."
' ----------------------------------------------------------------------------
CodePoints(name, msg1)
' ----------------------------------------------------------------------------
Dim idn As New IdnMapping()
Console.WriteLine(msg2, idn.AllowUnassigned)
Console.WriteLine(msg3, idn.UseStd3AsciiRules)
Console.WriteLine()
' ----------------------------------------------------------------------------
Console.WriteLine(msg4)
international = idn.GetAscii(name, 0, name.Length)
Console.WriteLine(msg5, international)
Console.WriteLine()
CodePoints(international, msg6)
' ----------------------------------------------------------------------------
Console.WriteLine(msg7)
nonInternational = idn.GetUnicode(international, 0, international.Length)
CodePoints(nonInternational, msg8)
Console.WriteLine(msg9)
End Sub
' ----------------------------------------------------------------------------
Shared Sub CodePoints(ByVal value As String, ByVal title As String)
Console.WriteLine("Display the Unicode code points of {0}", title)
Dim c As Char
For Each c In value
Console.Write("{0:x4} ", Convert.ToInt32(c))
Next c
Console.WriteLine()
Console.WriteLine()
End Sub
End Class
'
'This code example produces the following results:
'
'Display the Unicode code points of the original non-internationalized
'domain name:
'03c0 3002 03b8 ff0e 0063 006f 006d
'
'Allow unassigned characters?: False
'Use non-internationalized rules?: False
'
'Convert the non-internationalized domain name to international format...
'Display the encoded domain name:
'"xn--1xa.xn--txa.com"
'
'Display the Unicode code points of the encoded domain name:
'0078 006e 002d 002d 0031 0078 0061 002e 0078 006e 002d 002d 0074 0078 0061 002e 0063 006f
'006d
'
'Convert the internationalized domain name to non-international format...
'Display the Unicode code points of the reconstituted non-internationalized
'domain name:
'03c0 002e 03b8 002e 0063 006f 006d
'
'Visually compare the code points of the reconstituted string to the original.
'Note that the reconstituted string contains standard label separators (U+002e).
'
Megjegyzések
A Unicode, indexés count paraméterek egy olyan részsztringet határoznak meg, amely egy vagy több érvényes Unicode-karakterből álló címkét tartalmaz. A címkéket címkeelválasztók választják el egymástól. Az alsztring első karaktere nem kezdődhet címkeelválasztóval, de tartalmazhat és opcionálisan elválasztójellel is végződhet. A címkeelválasztók full STOP (period, U+002E), IDEOGRAPHIC FULL STOP (U+3002), FULLWIDTH FULL STOP (U+FF0E) és HALFWIDTH IDEOGRAPHIC FULL STOP (U+FF61). A "www.adatum.com" tartománynév például a "www", "adatum" és "com" címkékből áll, pontokkal elválasztva.
A címke nem tartalmazhat a következő karakterek egyikét sem:
Unicode-vezérlőkarakterek az U+0001-től az U+001F-n át az U+007F-ig.
Nem hozzárendelt Unicode-karakterek a tulajdonság értékétől AllowUnassigned függően.
A US-ASCII karaktertartomány nem szabványos karakterei, például a SZÓKÖZ (U+0020), FELKIÁLTÓJEL (U+0021) és LOW LINE (U+005F) karakterek a UseStd3AsciiRules tulajdonság értékétől függően.
Az IDNA szabvány egy adott verziója által tiltott karakterek. A tiltott karakterekről további információt az RFC 3454: Internationalizált sztringek ("stringprep") előkészítése az IDNA 2003 és az RFC 5982: The Unicode Code Points and Internationalized Domain Names for Applications for IDNA 2008 című témakörben talál.
A GetAscii metódus az összes címkeelválasztót FULL STOP (pont, U+002E) értékűre alakítja. Ha az alsztring nem tartalmaz karaktereket a US-ASCII karaktertartományon kívül, és a US-ASCII karaktertartományon belül nem tiltott karaktereket, a metódus változatlanul visszaadja az alászúrást.
Megjegyzések a hívókhoz
A .NET Framework 4.5-ben a IdnMapping osztály az IDNA szabvány különböző verzióit támogatja a használt operációs rendszertől függően:
Ha Windows 8 fut, támogatja a RFC 5891: Internationalized Domain Names in Applications (IDNA): Protocol által felvázolt IDNA szabvány 2008-at.
Ha az Windows operációs rendszer korábbi verzióin fut, támogatja a RFC 3490: Domain Names in Applications (IDNA) által felvázolt szabvány 2003-at.
Tekintse meg a Unicode Technical Standard #46: IDNA kompatibilitási feldolgozás című témakört, amely ismerteti, hogy a szabványok hogyan kezelik az adott karakterkészleteket.