Koder/dekoder URL
Przygotuj dowolny tekst tak, aby dało się go bezpiecznie umieścić w adresie URL — albo zamień link pełen znaków % z powrotem w coś czytelnego. Konwersja odbywa się na żywo podczas pisania.
Dlaczego adres URL nie może zawierać po prostu wszystkiego
Adres URL ma swoją gramatykę. Znak zapytania rozpoczyna zapytanie, ampersand rozdziela parametry, znak równości łączy nazwę z wartością, znak hash przeskakuje do fragmentu — te znaki to struktura, nie treść. Wklej wartość, która zawiera je w surowej postaci, a adres URL po cichu zmieni znaczenie: szukaj fish & chips bez kodowania, a wszystko po ampersandzie zostanie odczytane jako zupełnie nowy parametr, więc biedny serwer szuka samego fish. Kodowanie procentowe to właśnie ta furtka ratunkowa — każdy niewygodny bajt jest zapisywany jako znak procenta plus dwie cyfry szesnastkowe, przy czym %20 dla spacji to ten najsłynniejszy. Litery z akcentami i emoji zamieniają się w po kilka takich bajtów każdy, dlatego tekst nieanglojęzyczny zamienia się w zaskakująco długie ciągi znaków procenta. To normalne, nie uszkodzenie.
Dekodowanie: odczytywanie, co naprawdę mówi link
Tryb dekodowania przydaje się przy linkach zrobionych przez kogoś innego. Linki z newsletterów i reklam rutynowo owijają prawdziwy cel wewnątrz parametru url= jakiegoś śledzącego linku — zdekoduj całość, a prawdziwy cel wyskoczy jako zwykły tekst, co warto zrobić, zanim zaufasz nieznanemu linkowi. To też szybki sposób, żeby odczytać, co naprawdę wysłał formularz albo o co naprawdę pytało wywołanie API. Jeden wzorzec warto rozpoznawać: jeśli zdekodowany tekst wciąż zawiera sekwencje takie jak %2520, wartość została zakodowana dwukrotnie — zdekoduj jeszcze raz, a się rozwiąże. Podwójne kodowanie jest równie klasycznym błędem w drugą stronę, więc budując linki, koduj każdą wartość dokładnie raz, w ostatniej chwili przed złożeniem adresu URL.
Ręczne budowanie linków
Podstawowym zastosowaniem trybu kodowania jest budowanie linków poza językiem programowania — szablony korespondencji seryjnej, formuły w arkuszach, makra wsparcia technicznego, szybkie testy API. Niezawodny przepis: zakoduj każdą wartość osobno, a potem sam połącz elementy dosłownymi znakami ? & =. To też dlatego tryb wartości koduje nawet ukośniki — wewnątrz wartości ukośnik to po prostu znak. To narzędzie jest darmowe i bez limitów, jak cały nasz zestaw narzędzi dla programistów. I wskazówka co do tego, co znajdziesz wewnątrz zdekodowanych linków: ściana liter i cyfr kończąca się na = to zwykle Base64 — wklej ją do naszego dekodera Base64 — a długa wartość z dwiema kropkami pośrodku to najprawdopodobniej token dla dekodera JWT.
Dwa rodzaje kodowania — wybierz właściwy
Kodowanie wartości zamienia wszystko, co ma w adresie URL specjalne znaczenie (w tym / ? & =) — użyj go dla pojedynczego fragmentu tekstu trafiającego do ciągu zapytania, np. frazy wyszukiwania. Kodowanie całego adresu URL zamienia tylko znaki, które w ogóle nie mogą wystąpić w adresie URL (np. spacje), i pozostawia strukturę samego adresu nietkniętą. Użycie niewłaściwego trybu to klasyczna przyczyna zepsutych linków.
Dlaczego spacje czasem pojawiają się jako + zamiast %20?
Starsza konwencja formularzy internetowych koduje spacje jako +. Współczesnym standardem jest %20. Tutejszy dekoder rozumie oba zapisy.
Czy mój tekst jest gdzieś przesyłany?
Nie — wszystko działa w całości w Twojej przeglądarce, w zwykłym języku JavaScript. Nic nie jest przesyłane.
