Почему ссылка с кириллицей выглядит как %D0%BF%D1%80%D0%B8
Адресная строка браузера технически допускает только ограниченный набор символов ASCII. Всё остальное — кириллица, пробелы, знаки вроде &, ? и = внутри значений параметров — должно быть закодировано в специальную процентную запись (percent-encoding), иначе ссылка может сломаться или интерпретироваться неправильно. Именно поэтому скопированная ссылка на статью в Википедии с русским названием превращается в длинную строку из %D0%9F%D1%80%D0%B8... — это просто кириллица, закодированная побайтово через UTF-8.
Выбор между режимом «Компонент» и «Целый URL» зависит от того, что именно вы кодируете. Если это значение одного параметра запроса (например, поисковый запрос, который пойдёт после `?q=`), используйте кодирование компонента — оно закодирует вообще все спецсимволы, включая `&` и `=`, чтобы они не сломали структуру ссылки. Если же вы кодируете уже готовую полную ссылку целиком (со схемой `https://`, слэшами и уже расставленными `?` и `&`), используйте режим «Целый URL» — он не трогает служебные символы, которые и так должны остаться на своих местах.
Готовую закодированную ссылку удобно сразу превратить в QR-код для печати или демонстрации на экране — так получателю не придётся вручную набирать длинный адрес. Если работаете с параметрами внутри JSON-объекта (например, готовите тело API-запроса), после кодирования проверьте итоговую структуру в форматировании JSON.
Для кодирования бинарных данных (не текста в URL, а, например, файла) целиком в текстовый вид используется другой формат — Base64, а не percent-encoding.