fixmint
PL

Kodowanie procentowe w URL: co naprawdę znaczą %20, + i %2F

Autor: · · zaktualizowano 8 listopada 2026 · czas czytania: 5 min

Kodowanie procentowe zapisuje znak, którego URL nie może bezpiecznie przenosić, jako znak procenta, po którym następuje wartość bajtu w systemie szesnastkowym. Spacja zamienia się w %20, znak & w %26, a ukośnik w %2F. Kodowanie chroni strukturę linku, ponieważ znaki takie jak & i = rozdzielają części ciągu zapytania.

Kodowanie i dekodowanie URLW adresie URL są kody %20Zrób to za darmo

Które znaki mogą zostać bez zmian

Standard URI (RFC 3986), na którym opierają się adresy URL, nie wymaga kodowania liter A–Z i a–z, cyfr oraz czterech znaków - _ . ~. Pozostałe znaki pełnią w adresie określoną funkcję. Dwukropek oddziela schemat od reszty, ukośnik rozdziela fragmenty ścieżki, znak zapytania rozpoczyna zapytanie, krzyżyk zaczyna fragment, a & i = dzielą zapytanie na nazwy i wartości. Znak pełniący funkcję strukturalną trzeba zakodować wtedy, gdy ma być traktowany jako dane, a nie jako element struktury.

Dlatego ten sam znak bywa kodowany w jednym miejscu, a w innym nie. W wartości zapytania znak & musi być zapisany jako %26, bo inaczej link zostanie podzielony w złym miejscu. W ścieżki linku jest zwykłym znakiem.

Litery spoza alfabetu angielskiego

Litery spoza podstawowego alfabetu angielskiego koduje się jako bajty UTF-8, a każdy bajt zapisuje się jako kod procentowy. Litera é w słowie café to dwa bajty C3 i A9, więc zapisuje się ją jako %C3%A9, a całe słowo jako caf%C3%A9.

Prosty przykład pokazuje te zasady w praktyce. Tekst a b&c=d/é, zakodowany jako komponent, da a%20b%26c%3Dd%2F%C3%A9. Każdy znak, który nie jest bezpieczną literą, cyfrą ani znakiem specjalnym, zostaje zakodowany: spacja, &, znak równości, ukośnik i litera z akcentem.

Komponent czy cały URL

Istnieją dwa rodzaje kodowania i każdy ma swoje zastosowanie. Kodowanie komponentu traktuje każdy zastrzeżony znak jako dane. Stosuje się je do pojedynczej wartości, na przykład wyrazu wyszukiwania albo nazwy pliku w linku. Zakodowanie „rock & roll” jako wyrazu wyszukiwania daje rock%20%26%20roll, więc znak & pozostaje wewnątrz wartości.

Kodowanie całego URL zachowuje strukturę. Zakodowanie https://example.com/a b daje https://example.com/a%20b, a ukośniki i dwukropek pozostają bez zmian. Używa się go dla pełnego adresu, który trzeba poprawić, a nie dla wartości umieszczanej wewnątrz linku.

Narzędzie URL ma z tego powodu ustawienia Komponent i Pełny URL. Dekodowanie pełnego URL zachowuje też zakodowane znaki strukturalne, takie jak %26 i %3D, dzięki czemu link nadal działa po zdekodowaniu.

Znaki plus i dane formularzy

Formularze internetowe stosują inną konwencję. Gdy formularz jest wysyłany jako dane formularza, spacja zapisywana jest jako +, a nie jako %20. Dosłowny znak plus zapisuje się wtedy jako %2B. Zatem wyrażenie C++ tips staje się C%2B%2B+tips w danych formularza, a C%2B%2B%20tips w zwykłym kodowaniu komponentu.

Dekodowanie działa tak samo. W ciągu zapytania + zwykle oznacza spację. W ścieżce linku + jest znakiem plus. Narzędzie traktuje + jako spację tylko wtedy, gdy zaznaczono opcję Używaj + jako spacji (dane formularza). Dlatego wyłączaj ją przy ścieżkach i przy wartościach, w których plus jest rzeczywisty.

Jak czytać długi ciąg zapytania

Link często przenosi ustawienia po znaku zapytania. Oto przykład:

https://shop.example/search?q=red%20shirt&size=M&tag=summer%2Bsale

Po zdekodowaniu widać, że wyszukiwana jest red shirt, rozmiar to M, a tag to summer+sale. Zapis %2B pozostaje znakiem plus, ponieważ był zakodowany. Wklej link do narzędzia URL, a pokaże ono każdą nazwę i wartość po zdekodowaniu, co ułatwia czytanie długich linków. Jeśli chcesz krótszy adres bez parametrów śledzących, najpierw wyczyść link.

Podwójne kodowanie

Najczęstszy błąd to zakodowanie wartości dwa razy. Ponowne zakodowanie tekstu %20 daje %2520, bo sam znak procenta zostaje zakodowany jako %25. Strona szuka wtedy dosłownego %20 w wartości, więc wyszukiwanie lub strona nie działa. Zdekoduj link raz, sprawdź wynik i koduj wartość tylko wtedy, gdy jest to potrzebne.

Uszkodzone sekwencje

Po znaku procenta muszą następować dwie cyfry szesnastkowe, a dla liter z akcentami cyfry muszą tworzyć poprawny UTF-8. Link ucięty w połowie albo przypadkowy znak procenta wpisany w tekst może zostawić uszkodzoną sekwencję, na przykład %E0%A4%A. Narzędzie dekoduje to, co się da, pozostawia uszkodzone bajty dokładnie w takiej postaci, w jakiej są, i informuje, ile z nich nie udało się zdekodować. Nie zatrzymuje się na pierwszym błędzie.

Przypadki szczególne

  • Spacje w ręcznie wpisanym linku. Pasek adresu przeglądarki koduje spacje za ciebie, ale link skopiowany do dokumentu może nadal zawierać surowe spacje. Zakoduj je, zanim wyślesz link dalej.
  • Nazwy domen spoza alfabetu łacińskiego. Używają osobnego systemu, punycode, a kodowanie ścieżki lub zapytania nie zmienia nazwy hosta.
  • Połówka emotikony. Uszkodzona kopia może zostawić pojedynczą połówkę znaku zastępczego, której nie da się zakodować. Narzędzie zastępuje ją symbolem zastępczym i informuje cię o tym.
  • Base64 w linkach. Wartość Base64 w linku podlega własnym zasadom, w których zamiast + i / występują - i _. Zobacz Base64 – co to jest.

Jak to zrobić w fixmint

  1. Wklej tekst lub link w pole Tekst lub URL.
  2. Wybierz Koduj albo Dekoduj, a następnie Komponent dla jednej wartości lub Pełny URL dla całego adresu.
  3. Zaznacz Używaj + jako spacji (dane formularza) dla linków skopiowanych z formularza internetowego.
  4. Dla linku odczytaj Parametry zapytania, zdekodowane, aby zobaczyć każdą nazwę i wartość.
  5. Skopiuj wynik.

Szybkie odpowiedzi

Co oznacza %20?

Spację. Jej wartość bajtu to 20 w systemie szesnastkowym.

Dlaczego w moim linku jest + zamiast %20?

Link prawdopodobnie pochodzi z formularza, w którym + oznacza spację. Opcja „Używaj + jako spacji (dane formularza)” go zdekoduje.

Dlaczego widzę %2520 w moim linku?

Wartość została zakodowana dwa razy. Znak procenta z %20 został ponownie zakodowany jako %25. Zdekoduj raz, aby wrócić do %20, i ponownie, aby uzyskać spację.

Przetłumaczone z Wersja angielska przy wsparciu AI.

Komentarze

    Brak komentarzy. Bądź pierwszy.

    Twoja ocena (opcjonalnie)

    Twój e-mail nigdy nie jest pokazywany ani zapisywany.

    Okładka: How to Remain Valuable When Intelligence Becomes CheapHow to Remain Valuable When Intelligence Becomes Cheap

    224 strony o przewagach człowieka: ekonomicznych i strategicznych, które pozostają rzadkie, gdy AI potrafi wykonać większość pracy umysłowej.

    $3.84Kup na GumroadPo angielsku