Что такое URL-кодирование
URL-кодирование (percent-encoding) — это способ представления символов в URL-адресах. Поскольку URL может содержать только ограниченный набор символов ASCII, все остальные символы (кириллица, пробелы, спецсимволы) заменяются на последовательности вида %XX, где XX — шестнадцатеричный код байта в UTF-8. Наш декодер позволяет мгновенно расшифровать URL онлайн.
Пример
%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82 =
Привет
%D0%9F =
П (буква П занимает 2 байта в UTF-8: D0 и 9F)
Hello%20World =
Hello World (%20 — это пробел)
Когда вы видите в адресной строке браузера длинные последовательности символов с процентами — это и есть URL-кодирование. Например, ссылка на страницу Википедии о слове «Привет» будет содержать %D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82 вместо кириллических букв.
Почему %D0%9F превращается в П
Буква «П» в кодировке UTF-8 занимает 2 байта: 0xD0 и 0x9F. При URL-кодировании каждый байт записывается с префиксом %, поэтому «П» становится %D0%9F. Декодер считывает эти байты, собирает их обратно и восстанавливает исходный символ. Кириллические буквы занимают 2 байта, а эмодзи — целых 4 байта.
Где используется URL-кодирование
URL-кодирование применяется повсеместно в интернете: в адресах веб-страниц, параметрах GET-запросов, формах отправки данных (application/x-www-form-urlencoded), cookies, HTTP-заголовках и API-запросах. Любой раз, когда в URL нужно передать нелатинские символы или спецсимволы (&, =, ?, #), они кодируются в процентном формате.
Частые вопросы
Что такое URL-кодирование (percent-encoding)?
URL-кодирование — это стандартный механизм замены небезопасных символов в URL-адресах. Каждый байт символа записывается в формате %XX, где XX — его шестнадцатеричное значение. Например, пробел кодируется как %20, а кириллическая буква «А» — как %D0%90. Это позволяет безопасно передавать любые символы в URL.
Почему в URL появляются символы %D0, %D1 и подобные?
Символы %D0, %D1 и т.д. — это байты кириллических букв в кодировке UTF-8. Русские буквы в UTF-8 занимают 2 байта, и каждый байт отображается с префиксом %. Например, буква «М» — это байты D0 и 9C, поэтому в URL она выглядит как %D0%9C. Браузеры часто отображают декодированный вариант в адресной строке, но при копировании ссылки вы можете увидеть закодированную версию.
Чем отличается encodeURI от encodeURIComponent?
encodeURI кодирует строку как полный URI, оставляя нетронутыми спецсимволы URL (:, /, ?, #, & и др.). encodeURIComponent кодирует все спецсимволы, включая :, /, ? и #. Используйте encodeURIComponent для кодирования отдельных параметров, а encodeURI — для кодирования целого URL. Наш инструмент использует encodeURIComponent/decodeURIComponent для максимально полного кодирования.
Безопасно ли декодировать URL на этом сайте?
Да, абсолютно безопасно. Вся обработка происходит локально в вашем браузере с помощью JavaScript. Данные не отправляются на сервер и не сохраняются. Вы можете убедиться в этом, отключив интернет — инструмент продолжит работать.
Какие символы не кодируются в URL?
Согласно стандарту RFC 3986, без кодирования в URL можно использовать: латинские буквы (A-Z, a-z), цифры (0-9), а также символы - _ . ~ (дефис, подчёркивание, точка, тильда). Все остальные символы, включая пробел, кириллицу, иероглифы и спецсимволы, должны быть закодированы в формате percent-encoding.