В JavaScript:
encodeURIComponent("©√") == "%C2%A9%E2%88%9A"
Есть ли эквивалент для приложений С#? Для экранирования символов HTML я использовал:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"&#" + ((int)m.Value[0]).ToString() + ";");
Но я не уверен, как преобразовать соответствие в правильный шестнадцатеричный формат, который использует JS. Например, этот код:
txtOut.Text = Regex.Replace(txtIn.Text, @"[\u0080-\uFFFF]",
m => @"%" + String.Format("{0:x}", ((int)m.Value[0])));
Возвращает "%a9%221a"
для "©√"
вместо "%C2%A9%E2%88%9A"
. Похоже, мне нужно разбить строку на байты или что-то в этом роде.
Изменить: это приложение для Windows, единственными элементами, доступными в System.Web
, являются: AspNetHostingPermission
, AspNetHostingPermissionAttribute
и AspNetHostingPermissionLevel
.