diff options
author | Ben Harris <ben@tilde.team> | 2022-08-05 14:16:46 -0400 |
---|---|---|
committer | Ben Harris <ben@tilde.team> | 2022-08-05 14:17:36 -0400 |
commit | 1b872a0ede581b1edef3c04d5eec405c87056f3c (patch) | |
tree | 741695d927b7e59408493d2ca955c71ee3a60e4f /Puny.cs |
init
Diffstat (limited to 'Puny.cs')
-rw-r--r-- | Puny.cs | 19 |
1 files changed, 19 insertions, 0 deletions
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 |