Dekodowanie znaków URL: %C4%85 znowu jako ą

W tekście widać %C4%85 zamiast ą albo %20 zamiast spacji? To kodowanie URL, nazywane też kodowaniem procentowym. Wklej tekst powyżej: Mojibuster od razu zamieni kody na prawdziwe znaki, bez wysyłania czegokolwiek.

Działa z tekstem i plikami:

  • CSV
  • TXT
  • JSON
  • XML
  • SRT
  • VTT
  • SMI
  • TSV
  • MD
  • HTML
  • SQL
  • LOG

Na przykład eksporty z Excela, zrzuty baz danych, napisy do filmów lub kod stron.

Napraw

  1. Przeciągnij plik lub wklej tekst
  2. Naprawa następuje automatycznie
  3. Skopiuj lub pobierz
albo po prostu przeciągnij plik tutaj

Jak działa kodowanie URL

W adresach stron dozwolonych jest niewiele znaków: litery bez ogonków, cyfry i kilka symboli. Wszystko inne jest kodowane. W UTF-8 litera ą składa się z bajtów C4 i 85, dlatego staje się %C4%85. Spacja to %20, a w formularzach +.

Tak wygląda tekst zakodowany w URL – i tak znów da się go przeczytać.

Zakodowany

Pi%C4%85tek w %C5%81odzi

Zdekodowany

Piątek w Łodzi

Najczęstsze kody URL

  • %C4%85 = ą, %C4%87 = ć, %C4%99 = ę, %C5%82 = ł, %C5%84 = ń
  • %C3%B3 = ó, %C5%9B = ś, %C5%BA = ź, %C5%BC = ż
  • %C5%81 = Ł, %C5%9A = Ś, %C5%BB = Ż, %E2%82%AC = €, %E2%80%9E = „
  • %20 = spacja, %2F = /, %3F = ?, %26 = &, %25 = %

Każda polska litera zajmuje w UTF-8 dwa bajty, więc w linku zamienia się w sześć znaków. Prawie wszystkie zaczynają się od %C4 lub %C5 – tylko ó to %C3%B3. Po tym łatwo rozpoznać zakodowany polski tekst. Starsze systemy kodują literę jednym bajtem z Windows-1250: Pi%B9tek zamiast Pi%C4%85tek. Mojibuster rozpoznaje też to i zamienia na Piątek.

Skąd bierze się tekst zakodowany w URL

  • Skopiowane linki: przeglądarka pokazuje wikipedia.org/wiki/Łódź czytelnie, ale po skopiowaniu w schowku często ląduje %C5%81%C3%B3d%C5%BA.
  • Formularze i śledzenie: wyszukiwane hasła i parametry UTM trafiają zakodowane do logów serwera i eksportów z analityki, np. ?q=p%C4%85czki.
  • Eksporty i API: niektóre narzędzia do newsletterów, webhooki i API zapisują wartości zakodowane; w pliku CSV w Excelu widać wtedy kody zamiast nazwisk.
  • Nazwy plików: pobrany plik nazywa się Faktura%20Ma%C5%82gorzata.pdf, gdy serwer nie zdekoduje nazwy.

Kody i krzaki jednocześnie

Czasem tekst jest zepsuty dwa razy: %C3%84%E2%80%A6 to zakodowane w URL Ä…, czyli ą, które najpierw zostało źle odczytane jako Windows-1250, a potem zakodowane. Mojibuster najpierw dekoduje kody, a potem naprawia krzaki – więcej na stronie Windows-1250 na UTF-8. Na końcu znów widać ą.

Opcja Zamień też kody jest na tej stronie już włączona. Zamienia też kody HTML (ą), kody z e-maili (=C4=85) i sekwencje ucieczki z kodu programów (\u0105). Inne przyczyny krzaków: co to jest mojibake.

Dekodowanie samodzielnie w Excelu, JavaScripcie, Pythonie i PHP

  • Excel: ma tylko funkcję do kodowania (ENCODEURL w wersji angielskiej), nie do dekodowania. Najprościej: skopiuj kolumnę, wklej ją tutaj i skopiuj wynik z powrotem.
  • JavaScript: decodeURIComponent("p%C4%85czki") zwraca pączki.
  • Python: urllib.parse.unquote("p%C4%85czki") albo unquote_plus dla danych z formularzy z + zamiast spacji.
  • PHP: rawurldecode() albo urldecode() dla danych z formularzy.

Najczęstsze pytania

Co oznacza %C4%85?

To litera ą w kodowaniu URL: dwa bajty UTF-8 C4 i 85, każdy poprzedzony znakiem %. Tak samo %C5%82 to ł, a %C5%BC to ż.

Co oznacza %20?

Spację. W danych z formularzy często zamiast niej jest +. Mojibuster zostawia + bez zmian, bo w zwykłym tekście może to być prawdziwy plus.

Czy moje linki są gdzieś wysyłane?

Nie. Zamiana odbywa się w całości w przeglądarce. Linki z tokenami, adresami e-mail czy innymi danymi osobowymi nie opuszczają Twojego urządzenia.

Dlaczego 100% się nie zmienia?

Mojibuster zamienia tylko ciągi, z których powstaje prawdziwy znak specjalny. 100%, 50 % albo pojedyncze %20 w zwykłym tekście zostają bez zmian.

Więcej poradników