Zo werkt URL-codering
In webadressen mogen maar weinig tekens staan: letters zonder accent, cijfers en een paar leestekens. Al het andere wordt gecodeerd. In UTF-8 bestaat de ë uit de bytes C3 en AB en wordt dus %C3%AB. Een spatie wordt %20, of + in formulieren.
Gecodeerd
Re%C3%BCnie in Belgi%C3%AB
Gedecodeerd
Reünie in België
De meest voorkomende URL-codes
%C3%AB= ë,%C3%AF= ï,%C3%A9= é,%C3%A8= è%C3%BC= ü,%C3%B6= ö,%C3%A4= ä,%C3%A7= ç%E2%82%AC= €,%E2%80%99= ’,%E2%80%93= –%20= spatie,%2F= /,%3F= ?,%26= &,%25= %
Oudere systemen coderen elke letter met één byte uit Windows-1252: Belgi%EB in plaats van Belgi%C3%AB. Mojibuster herkent ook dat en maakt er België van.
Waar URL-gecodeerde tekst vandaan komt
- Gekopieerde links: de browser toont
wikipedia.org/wiki/Belgiëleesbaar, maar bij het kopiëren komt vaakBelgi%C3%ABop het klembord. - Formulieren en tracking: zoektermen en UTM-parameters worden gecodeerd opgeslagen in serverlogs en analytics-exports, bijvoorbeeld
?q=re%C3%BCnie. - Exports en API’s: sommige nieuwsbrieftools, webhooks en API’s slaan waarden gecodeerd op; in het CSV-bestand staan dan codes in plaats van namen.
- Bestandsnamen: een download heet
Factuur%20Ren%C3%A9e.pdfals de server de naam niet decodeert.
Codes en kapotte tekens tegelijk
Soms is tekst twee keer kapot: %C3%83%C2%AB is een URL-gecodeerde ë, dus een ë die eerst verkeerd is gelezen en daarna gecodeerd. Mojibuster decodeert eerst de codes en herstelt dan de à met tilde. Aan het eind staat er weer ë.
De optie Ook codes omzetten staat op deze pagina al aan. Ze zet ook HTML-codes om (ë), e-mailcodes (=C3=AB) en escapereeksen uit programmacode (\u00eb). Andere coderingsfouten: UTF-8-tekens herstellen.
Zelf decoderen in Excel, JavaScript, Python en PHP
- Excel: heeft alleen een functie om te coderen (
ENCODEURLin de Engelse versie), niet om te decoderen. Het makkelijkst: kopieer de kolom, plak hem hier en kopieer het resultaat terug. Zie ook rare tekens in Excel. - JavaScript:
decodeURIComponent("Belgi%C3%AB")geeftBelgië. - Python:
urllib.parse.unquote("Belgi%C3%AB"), ofunquote_plusvoor formulierdata met+als spatie. - PHP:
rawurldecode(), ofurldecode()voor formulierdata.
Veelgestelde vragen
Wat betekent %C3%AB?
Dat is de ë in URL-codering: de twee UTF-8-bytes C3 en AB, elk met een % ervoor. Zo is %C3%A9 een é en %C3%AF een ï.
Wat betekent %20?
Een spatie. In formulierdata staat er vaak + voor. Mojibuster laat de + staan, want in gewone tekst kan het een echt plusteken zijn.
Worden mijn links geüpload?
Nee. Het omzetten gebeurt volledig in je browser. Links met tokens, e-mailadressen of andere persoonsgegevens verlaten je apparaat niet.
Waarom verandert 100% niet?
Mojibuster zet alleen reeksen om die een echt speciaal teken opleveren. 100%, 50 % of een losse %20 in gewone tekst blijven zoals ze zijn.