Przejdź do treści głównej
FreeOnlineTools Go
Polski
Wyjaśnienie

Czym Jest Kodowanie URL? Kompletnowe Wyjaśnienie Percent-encoding

Autor: FreeOnlineTools Team · Zaktualizowano 2026-09-02

Szybka odpowiedź

Kodowanie URL (percent-encoding) zastępuje unsafe znaki w URL przez % po którym następują dwie cyfry hex. Na przykład, spacja staje się %20, & staje się %26. Zapewnia, że URLe mogą być transmitowane bez ambiguity. Użyj naszego darmowego URL Encoder i Decoder.

Wstęp

Kodowanie URL, nazywane też percent-encoding, to mechanizm kodowania znaków specjalnych w URL tak, aby mogły być bezpiecznie transmitowane przez internet. URLe mogą zawierać tylko ograniczony zestaw znaków ASCII —litery, cyfry i kilka reserved znaków. Każdy inny znak (spacje, quotes, nie-ASCII litery) musi być zakodowany jako znak procenta (%) po którym następują dwie cyfry hex. Kodowanie URL jest zdefiniowane przez RFC 3986.

Krok po kroku

  1. Dowiedz się, które znaki wymagają kodowania

    Znaki niezarezerwowane (A-Z, a-z, 0-9, -, _, ., ~) nie wymagają kodowania. Znaki zastrzeżone (:, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =) mają specjalne znaczenie w URLs i powinny być zakodowane, gdy są używane jako dane. Wszystkie pozostałe znaki (spacje, cudzysłowy, znaki inne niż ASCII) muszą być zakodowane.

  2. Poznaj mechanizm kodowania

    Każdy znak wymagający kodowania jest konwertowany do sekwencji bajtów UTF-8, a następnie każdy bajt jest reprezentowany jako %XX, gdzie XX to wartość szesnastkowa. Spacja (0x20) →%20. Znak spoza zestawu ASCII „é” (UTF-8: 0xC3 0xA9) → %C3%A9.

  3. Rozróżnij encodeURI od encodeURIComponent

    encodeURI() koduje pełny URL, ale zachowuje zastrzeżone znaki (:/?&=), które są częścią struktury URL. encodeURIComponent() koduje wszystko z wyjątkiem niezarezerwowanych znaków — używaj jej do wartości parametrów zapytania, gdzie znaki zarezerwowane są danymi, a nie strukturą.

  4. Dekoduj zakodowany procentowo URLs

    Dekodowanie odwraca kodowanie: %20 → spacja, %C3%A9 → é. Użyj decodeURI() dla pełnego URLs i decodeURIComponent() dla wartości parametrów zapytania. Nieprawidłowe sekwencje specjalne (takie jak %ZZ) powodują błędy.

Przykłady

Zakoduj spację

Wejście: hello world

Wyjście: hello%20world

Zakoduj tekst inny niż ASCII

Wejście: café

Wyjście: caf%C3%A9

Zakoduj wartość parametru zapytania

Wejście: name=John Doe & Co.

Wyjście: name%3DJohn%20Doe%20%26%20Co.

Typowe problemy

  • Kodowanie całego URL, gdy tylko wartości wymagają kodowania — koduj wartości parametrów zapytania, a nie strukturę URL (://?&=).
  • Podwójne kodowanie — jeśli URL jest już zakodowany, ponowne kodowanie daje %2520 zamiast %20. Najpierw dekoduj, jeśli nie masz pewności, czy jest już zakodowany.
  • Nieprawidłowe użycie encodeURI i encodeURIComponent — encodeURI zachowuje znaki struktury URL; encodeURIComponent koduje je. Użyj tego ostatniego dla wartości parametrów zapytania.
  • Nieprawidłowe sekwencje specjalne —%ZZ lub pojedynczy % na końcu są nieprawidłowe i podczas dekodowania będą zgłaszać błędy.

Porady

  • Zawsze koduj wartości parametrów zapytania, które mogą zawierać spacje, znaki specjalne lub dane wprowadzone przez użytkownika, aby zapobiec wstrzyknięciu URL.
  • Użyj encodeURIComponent() dla wartości parametrów zapytania i encodeURI() dla pełnego URLs, które wymaga jedynie zakodowania niebezpiecznych znaków.
  • Kodowanie URL nie jest szyfrowaniem — każdy może je odszyfrować. Nigdy nie używaj go do ukrywania wrażliwych danych.
  • Skorzystaj z naszego URL kodera i dekodera, aby uzyskać natychmiastową, prywatną konwersję w swojej przeglądarce.

Powiązane narzędzia

Powiązane przewodniki

Referencje