C#, .NET Framework 2.0 Декодировка URL-адреса без System.Web.

Понадобилось тут перекодировать URL с русскими буквами в нормальный текст, т.е. нечто вида https://ru.wikipedia.org/wiki/URL#%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_URL в читабельный вид https://ru.wikipedia.org/wiki/URL#Кодирование_URL

В MSDN сходу нашлось решение для .NET Framework 4, а вот для 2.0 так сразу не нашлось, но оказалось, что все-таки решение есть.

Декодирование URL

string text = https://ru.wikipedia.org/wiki/URL#%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_URL
text = text.Replace("+", " ");
text = System.Uri.UnescapeDataString(text);

Кодирование URL

string text = https://ru.wikipedia.org/wiki/URL#Кодирование_URL
text = System.Uri.EscapeDataString(text);

На самом деле, тот случай, когда мопед совершенно не мой, и я просто объяву разместил.

Источники

1. https://ru.wikipedia.org/wiki/URL#Кодирование_URL

2. Сам способ нашел здесь, у няшного серфера и программера.
Html and Uri String Encoding without System.Web
Там еще есть и способ кодирования эскейп-последовательностей HTML.

Ну чтоб не потерять, еще и класс на PasteBin и Mega.NZ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *