TanodTools
PL

Koduj i dekoduj URL

Zakoduj tekst procentowo do adresu URL albo go odkoduj, a dowolny adres URL podziel na części i parametry zapytania.

Działa w całości w Twojej przeglądarce

Kierunek

Podziel adres URL na części

Tekst do około 5 MB. Wyniki odświeżają się w trakcie wpisywania.

Jak zakodować lub odkodować adres URL

  1. Wybierz Koduj lub Dekoduj, a potem określ, czym jest tekst: pojedynczą wartością (komponentem), całym adresem URL czy danymi formularza.
  2. Wpisz lub wklej tekst. Wynik pojawia się poniżej w trakcie wpisywania; uszkodzony znak specjalny jest zgłaszany wraz z pozycją.
  3. Skopiuj wynik albo wklej pełny adres URL do analizatora niżej, aby zobaczyć jego host, ścieżkę i parametry zapytania.

Co robi kodowanie URL

Adres URL może zawierać tylko ograniczony zestaw znaków ASCII, a niektóre z nich mają swoją funkcję: / rozdziela segmenty ścieżki, ? zaczyna zapytanie, & i = dzielą je na nazwy i wartości, a # zaczyna fragment. Kodowanie procentowe zapisuje każdy inny bajt jako % i dwie cyfry szesnastkowe, dzięki czemu wartość taka jak R&D / 2026 może podróżować w ciągu zapytania bez pomylenia jej ze strukturą: R%26D%20%2F%202026.

Tekst jest najpierw zamieniany na bajty UTF-8, dlatego jedna litera z akcentem staje się dwiema sekwencjami, a emoji czterema. Dekodowanie odwraca ten proces i sprawdza, czy bajty tworzą poprawny UTF-8. To narzędzie dekoduje własnym, ścisłym czytnikiem, więc zamiast ogólnego błędu „URI malformed” mówi, która sekwencja jest uszkodzona i gdzie.

Trzy tryby odpowiadają trzem typowym sytuacjom. Koduj pojedynczą wartość (komponent), gdy budujesz parametr zapytania lub segment ścieżki. Koduj cały adres URL tylko wtedy, gdy masz kompletny adres ze spacjami lub literami spoza ASCII. Dane formularza stosuj w treści wysyłanego formularza albo w ciągu zapytania zbudowanym tak, jak budują go formularze HTML.

Wskazówki

  • Potrzebujesz czystej, czytelnej ścieżki zamiast sekwencji z procentami? Utwórz ją w narzędziu Generator slugów.
  • Dane binarne w adresie URL to zwykle Base64url, a nie kodowanie procentowe: wypróbuj Koduj i dekoduj Base64.
  • Token w ciągu zapytania zaczynający się od eyJ to prawdopodobnie JWT. Odczytaj go w narzędziu Dekoder JWT.

Najczęstsze pytania

Czym różni się kodowanie komponentu od kodowania całego adresu URL?

Kodowanie komponentu (encodeURIComponent w JavaScripcie) zamienia na sekwencje wszystko poza literami, cyframi i znakami - _ . ! ~ * ' ( ), więc znaki takie jak / ? & = stają się %2F %3F %26 %3D. Używaj go do pojedynczej wartości zapytania lub segmentu ścieżki. Kodowanie całego adresu URL (encodeURI) zostawia znaki nadające adresowi strukturę i zamienia tylko spacje, litery spoza ASCII i kilka innych, więc cały adres pozostaje użyteczny.

Kiedy użyć kodowania formularza?

Kodowanie formularza (application/x-www-form-urlencoded) to to, co wysyła formularz HTML i czego używa większość ciągów zapytania. Zapisuje spację jako + i zamienia wszystko poza literami, cyframi i znakami * - . _. Przy dekodowaniu w tym trybie + jest odczytywany jako spacja; w pozostałych trybach pozostaje plusem.

Jak kodowane są litery z akcentami i emoji?

Jako bajty UTF-8, każdy zapisany jako % i dwie cyfry szesnastkowe, czego oczekują przeglądarki i serwery. Na przykład é staje się %C3%A9. Dekodowanie sprawdza, czy bajty tworzą poprawny UTF-8, i informuje, jeśli nie.

Dlaczego dekodowanie zgłasza błąd?

Po każdym znaku procentu muszą następować dwie cyfry szesnastkowe (0-9, A-F). Zabłąkany znak %, ucięta sekwencja, taka jak %A, albo bajty niebędące poprawnym UTF-8 są zgłaszane wraz z pozycją, aby można je było znaleźć. Jeśli tekst zawiera dosłowny znak procentu, należy zapisać go jako %25.

Czy analizator URL odwiedza adres?

Nie. Korzysta z wbudowanego w przeglądarkę parsera adresów URL do podziału tekstu na części; nic nie jest pobierane ani nigdzie wysyłane. Wpisany tekst zostaje w tej karcie.

Czy należy kodować cały adres URL więcej niż raz?

Nie. Kodowanie już zakodowanego tekstu zamienia %20 w %2520, co jest częstym błędem. Jeśli w wyniku widzisz %25 i dwie cyfry szesnastkowe, dane wejściowe prawdopodobnie były już zakodowane; najpierw je odkoduj.