En JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
¿Existe un equivalente para las aplicaciones de C #? Para escapar de los caracteres HTML que utilicé:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Pero no estoy seguro de cómo convertir la coincidencia al formato hexadecimal correcto que utiliza JS. Por ejemplo este código:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Devuelve " %a9%221a"
para en "©√"
lugar de "%C2%A9%E2%88%9A"
. Parece que necesito dividir la cadena en bytes o algo así.
Editar: Esta es una aplicación de Windows, los únicos elementos disponibles en System.Web
son: AspNetHostingPermission
, AspNetHostingPermissionAttribute
y AspNetHostingPermissionLevel
.