W JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
Czy istnieje odpowiednik dla aplikacji C #? Do ucieczki znaków HTML użyłem:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Ale nie jestem pewien, jak przekonwertować dopasowanie do prawidłowego formatu szesnastkowego używanego przez JS. Na przykład ten kod:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Zwraca „ %a9%221a"for "©√"zamiast "%C2%A9%E2%88%9A". Wygląda na to, że muszę podzielić ciąg na bajty lub coś w tym stylu.
Edit: To jest dla aplikacji Windows, tylko pozycje dostępne w System.Webto: AspNetHostingPermission, AspNetHostingPermissionAttribute, i AspNetHostingPermissionLevel.