Преобразование строки в URL - C#
Формулировка задачи:
Нужно преобразовать строку в url для отправки запроса на поиск.
Использовал HttpUtility.UrlEncode(string str), но он преобразовывает кирилицу не в ту кодировку.
Для примера запрос "hello, тест" возвращается в таком виде: "hello%2c+%d1%82%d0%b5%d1%81%d1%82"
а нужно "hello%2C+%F2%E5%F1%F2".
Попытки вызвать перегруженную версию сего метода ни к чему хорошему не привели.
Как сделать правильно? (Нужно правильно, так как "индийский" вариант я нашел)
Есть идеи, решения?
Решение задачи: «Преобразование строки в URL»
textual
Листинг программы
//метод словаря public static Dictionary<char,string> CreateDictionary() { return new Dictionary<char, string> { {' ',"+"}, {',',"%2C"}, {'+',"%2B"}, {'%',"%25"}, {'&',"%26"}, {'Ё',"%A8"}, {'ё',"%B8"}, {'А',"%C0"}, {'Б',"%C1"}, {'В',"%C2"}, {'Г',"%C3"}, {'Д',"%C4"}, {'Е',"%C5"}, {'Ж',"%C6"}, {'З',"%C7"}, {'И',"%C8"}, {'Й',"%C9"}, {'К',"%CA"}, {'Л',"%CB"}, {'М',"%CC"}, {'Н',"%CD"}, {'О',"%CE"}, {'П',"%CF"}, {'Р',"%D0"}, {'С',"%D1"}, {'Т',"%D2"}, {'У',"%D3"}, {'Ф',"%D4"}, {'Х',"%D5"}, {'Ц',"%D6"}, {'Ч',"%D7"}, {'Ш',"%D8"}, {'Щ',"%D9"}, {'Ъ',"%DA"}, {'Ы',"%DB"}, {'Ь',"%DC"}, {'Э',"%DD"}, {'Ю',"%DE"}, {'Я',"%DF"}, {'а',"%E0"}, {'б',"%E1"}, {'в',"%E2"}, {'г',"%E3"}, {'д',"%E4"}, {'е',"%E5"}, {'ж',"%E6"}, {'з',"%E7"}, {'и',"%E8"}, {'й',"%E9"}, {'к',"%EA"}, {'л',"%EB"}, {'м',"%EC"}, {'н',"%ED"}, {'о',"%EE"}, {'п',"%EF"}, {'р',"%F0"}, {'с',"%F1"}, {'т',"%F2"}, {'у',"%F3"}, {'ф',"%F4"}, {'х',"%F5"}, {'ц',"%F6"}, {'ч',"%F7"}, {'ш',"%F8"}, {'щ',"%F9"}, {'ъ',"%FA"}, {'ы',"%FB"}, {'ь',"%FC"}, {'э',"%FD"}, {'ю',"%FE"}, {'я',"%FF"}, }; } //не лезь! //это в коде string SearchString = Console.ReadLine(); if (Regex.IsMatch(SearchString, @"[А-Яа-я,Ё,ё]+$")) //ищем кирилицу { var dictionary = CreateDictionary(); string CorrectedSearchString =""; for (int i = 0; i < SearchString.Length; i++) { if (dictionary.Keys.Contains(SearchString[i])) { CorrectedSearchString += dictionary[SearchString[i]]; } else { CorrectedSearchString += SearchString[i]; } } SearchString = CorrectedSearchString; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д