Кодировщик компонента URI
Если вы хоть раз передавали значение вроде name=John & Jane в URL без кодирования, вы знаете эту боль: & читается как новый параметр, и сервер видит мусор. Этот инструмент процентно кодирует любую строку для безопасного использования как компонент URI по RFC 3986, превращая каждый зарезервированный символ в пару %HH (включая пробелы). Вставьте фрагмент, значение запроса или цель редиректа и получите обратно нечто безопасное для конкатенации в любой URL.
Как закодировать компонент URI
-
1
Вставьте ваше значение
Вставьте отдельное значение параметра запроса, сегмент пути или строку фрагмента.
-
2
Выберите кодирование или декодирование
Смените направление, чтобы превратить процентные экранирования обратно в исходные символы.
-
3
Запустите
Инструмент кодирует каждый символ в UTF-8, затем заменяет каждый зарезервированный байт на %HH.
-
4
Скопируйте результат
Поместите вывод прямо в свой шаблон URL или API-клиент.
Что экранируется
Этот кодировщик следует RFC 3986: нетронутым остаётся только незарезервированный набор A-Z a-z 0-9 - _ . ~. Всё остальное становится процентно-кодированным UTF-8, включая пробел и субразделители ! * ' ( ), которые encodeURIComponent из JavaScript оставил бы как есть.
| Символ | Кодируется как |
|---|---|
| пробел | %20 |
! |
%21 |
# |
%23 |
& |
%26 |
' |
%27 |
( |
%28 |
) |
%29 |
* |
%2A |
+ |
%2B |
/ |
%2F |
= |
%3D |
? |
%3F |
é |
%C3%A9 |
Компонент против полного URI
Этот кодировщик строже encodeURI, который оставляет : / ? # [ ] @ ! $ & ' ( ) * + , ; = как есть, потому что эти символы структурны в URL. Для значения, которое вы конкатенируете в строку запроса, нужна строгая форма, и именно её выдаёт этот инструмент: он экранирует даже ! ' ( ) *, идя на шаг дальше, чем encodeURIComponent из JavaScript.
const url = `/search?q=${encodeURIComponent(userInput)}`;
Частые подводные камни
- Двойное кодирование: кодирование того, что уже закодировано, даёт
%2520вместо%20. Всегда декодируйте сначала, если не уверены в источнике. - Плюсы в формах: отправка HTML-формы кодирует пробелы как
+, а не%20. Декодеры, строго следующие RFC 3986 (этот в том числе), не превратят+обратно в пробел. Для таких случаев используйте декодер, учитывающий формы. - Разделители пути: кодирование
/здесь превращает его в%2F. Если нужно сохранить настоящую структуру пути, сначала соедините сегменты, а затем закодируйте каждый по отдельности.
Часто задаваемые вопросы
Это процентное кодирование по RFC 3986, строгая форма. Оно экранирует :, /, ?, # и остальные зарезервированные символы (а также !, ', (, ) и *), потому что компонент не должен нести в себе структуру URL. Это делает его строже, чем encodeURIComponent из JavaScript, и намного строже, чем encodeURI.
%20 это способ RFC 3986. + для пробела это наследие кодирования тела application/x-www-form-urlencoded. Для строк запроса в URL %20 всегда безопасен; + ожидается на сервере, только если он создан POST-отправкой формы.
Каждый символ сначала кодируется в UTF-8, затем каждый байт экранируется. Символ вроде я становится %D1%8F (два байта).
Нет. Значение кодируется процентами на сервере для построения вашего результата и не сохраняется и не логируется; ничто из вставленного вами не сохраняется после отправки ответа.
Сопутствующие инструменты
Справочная таблица ASCII
Полная таблица ASCII от 0 до 127 с десятичным, шестнадцатеричным, восьмеричным и двоичным представлением, а также записью числовых ссылок HTML, включая NUL, LF и DEL.
Справочник символов HTML
Справочник HTML-сущностей с поиском, их именованными и числовыми кодами, а также копированием специальных символов и знаков одним кликом.
Смешивание цветов
Смешайте два HEX-цвета в 2-20 равномерных образцов. Каждый промежуточный цвет показывается как HEX-код в верхнем регистре, включая оба края.
Справочник сочетаний клавиш
Ищите документированные сочетания по умолчанию для VS Code, Chrome и Bash с GNU Readline в macOS, Windows и Linux.
Счетчик FPS
Измерьте FPS браузера через requestAnimationFrame: сглаживание, минимальная и максимальная частота кадров, порог предупреждения и график по желанию. Работает локально, без загрузок и API.
Генератор случайных букв
Генерируйте случайные буквы A-Z. Выберите количество, верхний или нижний регистр либо смешанный вариант для игр, заданий и уроков.
Инструмент доступен на других языках
- Encoder Komponen URI [ID]
- Koder komponentu URI [PL]
- URI-komponentkodare [SV]
- ตัวเข้ารหัสองค์ประกอบ URI [TH]
- URI-Komponenten-Encoder [DE]
- URIコンポーネントエンコーダー [JA]
- URI 컴포넌트 인코더 [KO]
- Codificador de Componentes URI [ES]
- Codificador de Componentes URI [PT]
- Bộ mã hóa Thành phần URI [VI]
- Encodeur de composants URI [FR]
- مُرمِّز مكوّن URI [AR]
- URI-component-encoder [NL]
- URI Component Encoder [EN]
- Codificatore di componenti URI [IT]
- URI Bileşeni Kodlayıcı [TR]
- URI 组件编码器 [ZH]