In JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
Gibt es ein Äquivalent für C # -Anwendungen? Um HTML-Zeichen zu entkommen, habe ich Folgendes verwendet:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Ich bin mir jedoch nicht sicher, wie ich die Übereinstimmung in das von JS verwendete korrekte Hexadezimalformat konvertieren soll. Zum Beispiel dieser Code:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Gibt " %a9%221a"
für "©√"
statt" zurück "%C2%A9%E2%88%9A"
. Es sieht so aus, als müsste ich die Zeichenfolge in Bytes oder ähnliches aufteilen.
Edit: Dies ist eine Windows - Anwendung, die nur Elemente in System.Web
sind: AspNetHostingPermission
, AspNetHostingPermissionAttribute
und AspNetHostingPermissionLevel
.