En JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
Est-il un équivalent pour des applications C#? Pour échapper les caractères HTML, j'ai utilisé:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Mais je ne suis pas sûr de savoir comment convertir le match au bon format hexadécimal que JS utilise. Par exemple ce code:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Renvoie "%a9%221a"
pour "©√"
au lieu de "%C2%A9%E2%88%9A"
. Il semble que j'ai besoin de diviser la chaîne en octets ou quelque chose.
Edit: C'est pour une application windows, les seuls éléments disponibles dans System.Web
sont: AspNetHostingPermission
, AspNetHostingPermissionAttribute
, et AspNetHostingPermissionLevel
.