19 lines
580 B
C#
19 lines
580 B
C#
string ShowCodePoints(string str1) =>
|
|
str1.Aggregate("", (current, ch) => current + $"U+{Convert.ToUInt16(ch):X4} ");
|
|
|
|
var idn = new IdnMapping();
|
|
foreach (var name in args)
|
|
{
|
|
try
|
|
{
|
|
var puny = idn.GetAscii(name);
|
|
var name2 = idn.GetUnicode(puny);
|
|
Console.WriteLine($"{name} --> {puny} --> {name2}");
|
|
Console.WriteLine($"Original: {ShowCodePoints(name)}");
|
|
Console.WriteLine($"Restored: {ShowCodePoints(name2)}");
|
|
}
|
|
catch (ArgumentException)
|
|
{
|
|
Console.WriteLine($"{name} is not a valid domain name.");
|
|
}
|
|
} |