Кодирование URL онлайн — encodeURIComponent
Сделайте текст безопасным внутри URL: пробелы, не-ASCII и символы становятся последовательностями `%XX`. Когда собираете query, склеиваете callback URL или чините ссылки, ломающиеся при вставке китайского или пробелов. По умолчанию — `encodeURIComponent`: лучше для одного значения параметра, а не слепого кодирования всего URL.
`%E4%BD%A0%E5%A5%BD` в адресной строке — «привет» по-китайски в UTF-8 percent-encoding. Сырой `?name=张三` в URL часто обрезается или портится дальше по цепочке.
`encodeURIComponent` агрессивен — хорошо для значений. Кодирование полного URL им может сломать `://`, если неаккуратно; используйте режимы целого URL, когда страница их предлагает.
Кодируйте перед отправкой, декодируйте при отладке — это пара.
Как закодировать
- Вставьте текст, который пойдёт в URL
- Подтвердите режим (по умолчанию подходит для значений параметров)
- Скопируйте закодированный вывод в адрес
Когда кодировать
- Ручные query со «опасными» символами.
- OAuth-callback, ожидающие закодированные параметры.
- Сверить документацию с реальными запросами байт в байт.
Сценарии
- Поисковые термины в `?q=`
- Имена файлов с пробелами в параметрах ссылки скачивания
- Проверка примеров URL из API-доков
Советы
- Кодируйте значение, а не уже закодированную ссылку — двойное кодирование даёт `%25`.
- Пробелы часто становятся `%20`; некоторые формы используют `+` — знайте спецификацию.
- Не уверены — закодируйте, затем декодируйте на странице декодирования для проверки.
Примеры
| Ввод | Вывод | Примечание |
|---|---|---|
| привет (не-ASCII) | Percent-encoded байты UTF-8 | напр. 你好 → %E4%BD%A0%E5%A5%BD |
| a b | a%20b | Пробел |
| a=1&b=2 | a%3D1%26b%3D2 | Как одно значение параметра |
Частые вопросы о кодировании URL
- Чем отличается от Base64?
- Разные задачи: URL-кодирование делает текст безопасным в URL; Base64 оборачивает двоичные данные или куски токенов.
- Что если закодировать дважды?
- Получите `%25` для закодированных знаков процента. Обычно кодируйте один раз.
- Путь и query кодировать одинаково?
- У каждого свои правила; кодирование значений параметров режимом по умолчанию здесь — частый случай.