Opcje zaawansowane
Konwertuj + na spacje
Po włączeniu znaki + zostaną przekonwertowane na spacje. Jest to przydatne przy dekodowaniu parametrów zapytania.
Tryb na żywo
Po włączeniu tekst będzie dekodowany automatycznie podczas pisania.
Te opcje pomagają kontrolować sposób dekodowania zakodowanych znaków w adresach URL.
Czym jest dekodowanie URL?
Dekodowanie URL odwraca kodowanie procentowe: odczytuje sekwencje ucieczki %XX w zakodowanym URL-u i zamienia je z powrotem na odpowiadające im znaki. W ten sposób możesz odtworzyć czytelny ciąg zapytania, wartość formularza lub segment ścieżki z URL-a przekazanego Ci przez przeglądarkę, API lub linię dziennika.
Jak działa dekodowanie URL?
Dekodowanie URL przebiega według określonego procesu konwersji sekwencji zakodowanych procentowo z powrotem na ich pierwotne znaki:
- Ciąg wejściowy jest skanowany w poszukiwaniu sekwencji ucieczki zakodowanych procentowo (%XX)
- Każde %XX jest konwertowane z dwóch cyfr szesnastkowych z powrotem na pierwotną wartość bajtu
- Kolejne zdekodowane bajty są składane z powrotem w znaki UTF-8 (sekwencja wielobajtowa staje się jednym znakiem)
- W kontekście ciągu zapytania + jest dekodowane na spację (application/x-www-form-urlencoded), podczas gdy %2B pozostaje dosłownym +
- Znaki niezarezerwowane i już zdekodowany tekst przechodzą bez zmian
Dlaczego warto używać dekodera URL?
- Czytelny wynik: zamień %20, %40 i %3D z powrotem na spację, @ i =, aby odczytać, co URL naprawdę mówi
- Tekst wielojęzyczny: odbuduj znaki akcentowane i spoza ASCII z ich sekwencji bajtów UTF-8, aby %C3%A9 znów było czytane jako é
- Debugowanie: sprawdź rzeczywiste wartości w ciągu zapytania, przekierowaniu OAuth lub ładunku webhooka, zanim zaczniesz na nich działać
- Zgodność ze standardami: dekoduj zgodnie z RFC 3986 — tymi samymi regułami, co przeglądarki i serwery — aby zobaczyć dokładnie to, co one widzą
Jakie są typowe zastosowania dekodowania URL?
Dekodowanie URL jest niezbędne w wielu scenariuszach tworzenia stron internetowych:
- Wysyłanie formularzy: odczytywanie oryginalnych wartości pól z danych GET i POST zakodowanych jako application/x-www-form-urlencoded
- Tworzenie API: rozpakowywanie procentowo zakodowanych parametrów ścieżki i zapytania przychodzących do punktu końcowego API
- Systemy plików: odtwarzanie ścieżek i nazw plików, które zostały procentowo zakodowane, aby przemieszczać się wewnątrz URL-a
- Debugowanie linków: dekodowanie udostępnionych lub zarejestrowanych URL-i, aby zobaczyć znaki specjalne i tekst wielojęzyczny, które przenoszą
Jak wygląda przykład dekodowania URL?
Oto kilka typowych przykładów dekodowania URL: %20 (lub +) staje się spacją, %40 staje się @, %23 staje się #, %26 staje się &, a %3D staje się =. Sekwencja UTF-8, taka jak %C3%A9, staje się znakiem międzynarodowym é.
Czym jest kodowanie procentowe?
Kodowanie procentowe to mechanizm zdefiniowany w RFC 3986 §2.1 do reprezentowania znaków, które są niebezpieczne lub zarezerwowane wewnątrz URI. Reguła jest mechaniczna: każdy bajt, który nie może wystąpić dosłownie, jest zapisywany jako znak procentu poprzedzający dwie cyfry szesnastkowe — postać %XX —, gdzie XX jest wartością bajtu. Znaki spoza ASCII, takie jak é, są najpierw kodowane jako ich sekwencja bajtów UTF-8, a następnie każdy bajt jest kodowany procentowo oddzielnie. Programiści spotykają się z tym niemal codziennie: w łańcuchach zapytań, przesyłaniu formularzy, adresach URL zwrotnych OAuth, parametrach ścieżek REST API i wszędzie tam, gdzie URL musi przenieść znaki interpunkcyjne, spacje lub znaki spoza zbioru niezarezerwowanego A–Z a–z 0–9 - _ . ~.
Jak właściwie działa dekodowanie %C3%A9 do é?
Weź zakodowany łańcuch zapytania ?q=caf%C3%A9&lang=fr. Dekodowanie daje ?q=café&lang=fr. Oto przejście bajt po bajcie:
- Wejście:
?q=caf%C3%A9&lang=fr - Wyjście:
?q=café&lang=fr
%C3→ bajt0xC3(binarnie11000011) — bajt prowadzący 2-bajtowej sekwencji UTF-8.%A9→ bajt0xA9(binarnie10101001) — bajt kontynuacji. RazemC3 A9to kodowanie UTF-8 punktu U+00E9, czylié.- Znaki
?,=i&pozostają nietknięte, ponieważ są strukturalne — wyznaczają granice zapytania i par klucz/wartość. Literałcafrównież przechodzi bez zmian, ponieważ małe litery ASCII należą do zbioru niezarezerwowanego.
Czym różni się decodeURIComponent od decodeURI?
JavaScript udostępnia dwa wbudowane dekodery, a mylenie ich to jeden z najczęstszych błędów przy obsłudze URL:
decodeURIComponent(str)dekoduje każdą sekwencję zakodowaną procentowo, w tym znaki zarezerwowane, takie jak&,=,?,/i#. Stosuj go do pojedynczych wartości łańcucha zapytania lub segmentów ścieżki — nigdy do całego URL-a.decodeURI(str)jest świadomie konserwatywny: pomija znaki zarezerwowane. Podanie mu%26zwraca dosłowny ciąg%26, a nie&. Jest przeznaczony do całych URI, w których struktura ma przetrwać podróż tam i z powrotem.
Zasada praktyczna: jeśli ciąg jest fragmentem URL (pojedynczy parametr, fragment, zakodowana nazwa pliku), sięgnij po decodeURIComponent. To narzędzie zachowuje się jak decodeURIComponent — każda sekwencja %XX w Twoim wejściu jest dekodowana, w tym znaki zarezerwowane.
Dekodowanie URL to sposób na odczytanie, co naprawdę zawiera adres. Wklej zakodowany ciąg powyżej, a każda sekwencja %XX zamieni się w swój znak bezpośrednio w przeglądarce — możesz debugować parametr zapytania, sprawdzić przekierowanie OAuth lub odtworzyć nazwę pliku z akcentem bez wysyłania czegokolwiek na serwer.