Кодировщик/Декодер URL

Безопасное кодирование и декодирование URL

Ввод
0 characters
Вывод
0 characters
About This Tool

URL-кодирование (также известное как процентное кодирование) — это механизм представления специальных символов в URL с использованием формата %XX, где XX — шестнадцатеричное значение. Это кодирование необходимо для веб-разработки, интеграции API и передачи данных. Когда вам нужно включить специальные символы, такие как пробелы, амперсанды (&), вопросительные знаки (?) или не-ASCII символы в URL или параметры запроса, правильное кодирование обеспечивает безопасную передачу данных без нарушения структуры URL. Инструмент поддерживает два режима кодирования: полное кодирование URL (encodeURI) сохраняет символы структуры URL, такие как :, /, ?, &, =, при этом кодируя другие специальные символы — идеально для кодирования полных URL. Покомпонентное кодирование (encodeURIComponent) кодирует все специальные символы, включая символы структуры URL — идеально подходит для значений параметров запроса, данных формы и полезных нагрузок API-запросов. Вся обработка происходит на стороне клиента в вашем браузере без отправки данных на серверы.

How to Use

Выберите режим кодирования или декодирования с помощью переключателей вверху. Для кодирования: вставьте текст или URL в область ввода, и вывод автоматически обновится закодированным результатом. Выберите стиль кодирования пробелов: %20 (стандарт, соответствует RFC 3986) или + (обычно используется в строках запроса и данных форм). Переключите «Кодировать полный URL» для переключения между полным кодированием URL (сохраняет :, /, ?, &, =) и покомпонентным кодированием (кодирует все). Для декодирования: вставьте закодированный текст URL, и он автоматически декодируется обратно в читаемый формат, обрабатывая как %20, так и + представления пробелов. Скопируйте вывод одним щелчком с помощью кнопки «Копировать» или загрузите результаты в виде текстового файла.

Common Use Cases & Examples

**Параметры запроса**: Кодируйте 'smart watch' в 'smart%20watch' или 'smart+watch' для строк запроса URL. **API-запросы**: Создавайте URL API, такие как 'https://api.example.com/search?q=электроника%20%26%20гаджеты&цена=%3E100' с правильно закодированными параметрами. **OAuth и подписи**: Многие потоки OAuth и алгоритмы подписи API требуют URL-кодированных параметров. **Данные формы**: Кодируйте отправку форм для типа содержимого application/x-www-form-urlencoded. **Глубокие ссылки**: Создавайте закодированные глубокие ссылки для мобильных приложений с параметрами. **Отладка**: Декодируйте ответы API или адресную строку браузера, чтобы увидеть фактические значения параметров. **Специальные символы**: Обрабатывайте символы, такие как &, =, ?, #, /, @, :, <, >, ", ', %, + и пробелы в URL.

Limitations & Important Notes

Этот инструмент использует кодировку UTF-8 (стандарт для современного веба). Кодировки, отличные от UTF-8, не поддерживаются. Инструмент обрабатывает стандартное URL-кодирование; для других схем кодирования (таких как base64 или HTML-сущности) используйте соответствующие инструменты. Очень длинные URL (>100 КБ) могут вызвать проблемы с производительностью в старых браузерах. Неправильно сформированные процентные последовательности (такие как %ZZ или неполные последовательности) в режиме декодирования вызовут сообщения об ошибках. Опция «Кодировать полный URL» должна использоваться только для полных URL, начинающихся с http:// или https://—для значений параметров запроса используйте покомпонентное кодирование. Помните, что URL-кодирование увеличивает размер текста: каждый специальный символ становится 3 символами (%XX), поэтому 'hello world' (11 символов) становится 'hello%20world' (13 символов).

Code Examples
How to implement this functionality in different programming languages
// JavaScript URL Encoding Examples

// Encode full URL (preserves protocol, slashes, etc.)
const fullUrl = 'https://example.com/search?q=hello world';
const encodedUrl = encodeURI(fullUrl);
console.log(encodedUrl);
// https://example.com/search?q=hello%20world

// Encode URL component (encodes all special chars)
const queryParam = 'hello world & special chars';
const encodedParam = encodeURIComponent(queryParam);
console.log(encodedParam);
// hello%20world%20%26%20special%20chars

// Build URL with encoded parameters
const baseUrl = 'https://api.example.com/search';
const params = {
  q: 'smart watch',
  category: 'electronics & gadgets',
  price: '>100'
};

const queryString = Object.entries(params)
  .map(([key, value]) => 
    `${encodeURIComponent(key)}=${encodeURIComponent(value)}`)
  .join('&');

const fullApiUrl = `${baseUrl}?${queryString}`;
console.log(fullApiUrl);
// https://api.example.com/search?q=smart%20watch&category=electronics%20%26%20gadgets&price=%3E100

// Decode URL
const encoded = 'https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello+world';
const decoded = decodeURIComponent(encoded.replace(/\+/g, ' '));
console.log(decoded);
// https://example.com/search?q=hello world

// Handle encoding errors
try {
  const malformed = '%E0%A4%A';  // Incomplete UTF-8 sequence
  const result = decodeURIComponent(malformed);
} catch (error) {
  console.error('Invalid URL encoding:', error.message);
}