In JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
Esiste un equivalente per le applicazioni C #? Per sfuggire ai caratteri HTML ho usato:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Ma non sono sicuro di come convertire la corrispondenza nel formato esadecimale corretto utilizzato da JS. Ad esempio questo codice:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Restituisce " %a9%221a"per "©√"anziché "%C2%A9%E2%88%9A". Sembra che debba dividere la stringa in byte o qualcosa del genere.
Edit: Questo è per un'applicazione di Windows, gli unici elementi disponibili in System.Websono: AspNetHostingPermission, AspNetHostingPermissionAttribute, e AspNetHostingPermissionLevel.