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.Web
sono: AspNetHostingPermission
, AspNetHostingPermissionAttribute
, e AspNetHostingPermissionLevel
.