From 1b872a0ede581b1edef3c04d5eec405c87056f3c Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Fri, 5 Aug 2022 14:16:46 -0400 Subject: init --- Puny.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 Puny.cs (limited to 'Puny.cs') diff --git a/Puny.cs b/Puny.cs new file mode 100644 index 0000000..f6be5f3 --- /dev/null +++ b/Puny.cs @@ -0,0 +1,19 @@ +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."); + } +} \ No newline at end of file -- cgit 1.4.1