私は本当にあなたの問題を見ていません。を介してデコードをテストすると、WebUtility.HtmlDecode
投稿したリンクにリストされているすべてのエンティティ名がデコードされます。
var encoded = ""'&<>¡¢£¤" +
"¥¦§¨©ª«¬­®" +
"¯°±²³´µ¶·" +
"¸¹º»¼½¾¿" +
"×÷ÀÁÂÃÄÅ" +
"ÆÇÈÉÊËÌÍ" +
"ÎÏÐÑÒÓÔÕ" +
"ÖØÙÚÛÜÝÞ" +
"ßàáâãäåæ" +
"çèéêëìíî" +
"ïðñòóôõö" +
"øùúûüýþÿ";
var expected = "\"'&<>¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿×÷ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ" +
"ÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿ";
Console.WriteLine(System.Net.WebUtility.HtmlDecode(encoded) == expected);
この小さなスニペットは true になります。
エンコーディングに関しては、関数HtmlEncode
はこのように機能するように実装されています。それについてできることはほとんどありませんが、自分で実装することはお勧めしません (本当に必要がない場合は、車輪を再発明しないでください)。エンコーディングに関するこの SO の質問も参照してください: C# HtmlEncode - ISO-8859-1 Entity Names vs Numbers