URL-encoder

Een volledig adres en één querywaarde hebben verschillende grenzen.

Codeer voor de plek waar de tekst komt

Een volledig adres en één querywaarde hebben verschillende grenzen.

Stap 1

Kies de modus

Component voor één waarde, volledige URI voor bestaande structuur of formulier voor spaties als +.

Stap 2

Voer het origineel in

Plak ongecodeerde tekst en controleer UTF-8-bytes. Er wordt geen adres geopend.

Stap 3

Gebruik het resultaat

Kopieer of download TXT. De hulpmiddellink bevat nooit je invoer.

Praktische toepassingen

Een zoekvraag opbouwen

Codeer voor de zoekwaarde A&B + café alleen de waarde als component: A%26B%20%2B%20caf%C3%A9. Plaats die achter q= in een voorbeeld zoals https://example.test/search?q=, met de adresstructuur buiten de conversie.

Volledige URI laat de ampersand structureel. Die modus kan niet raden dat een teken in een al samengestelde ruwe query data had moeten zijn. Kies de grens vóór het coderen, niet na een onverwacht serverantwoord.

Een formulier controleren

Vergelijk bij een formulierontvanger A+B C als component en formulierwaarde: A%2BB%20C en A%2BB+C. Beide beschermen het oorspronkelijke plusteken maar schrijven de spatie anders.

Het ontvangstprotocol bepaalt de keuze, niet de kortste uitvoer. Een formulierdecoder leest + als spatie, een componentdecoder behoudt het. Dit hulpmiddel maakt geen veldnamen, herhaalde parameters of volledig verzoeklichaam.

Internationale tekst

Controleer café voor verzending naar een UTF-8-ontvanger. De invoer is vijf bytes, caf%C3%A9 negen ASCII-bytes met twee procentcodes.

Die aantallen beschrijven representatie, geen woorden of zichtbare complexiteit. Een vooraf samengestelde accentletter en een letter met combinatieteken kunnen gelijk ogen met andere bytes. De pagina normaliseert niet en kiest geen representatie voor een ondertekend verzoek.

ClockTools-begroeting gecodeerd als URI-component
De URI-componentmodus codeert de komma in de begroeting als %2C. De uitvoer is een waarde voor gebruik in een URL; er wordt geen website opgehaald.

Kies de modus volgens de ontvangstgrens

URI-component past bij één querywaarde of bedoeld padsegment. Hij beschermt &, =, /, ? en # tegen structuur bij invoegen. Volledige URI veronderstelt dat de scheidingstekens al de bedoelde structuur geven. Geen modus ontdekt bedoelde data in een dubbelzinnige string.

folder/name wordt folder%2Fname als component en blijft folder/name als volledige URI. Dat onderscheidt een waarde met slash van een behouden padscheider. De ontvanger kan andere padregels hebben; codering garandeert niet dat deze identificatiecode wordt geaccepteerd.

JavaScript behoudt leestekens die een strikte RFC 3986-conventie extra zou coderen. Dat is een compatibiliteitsverschil, geen vierde modus. Gebruik bij API-eisen voor extra codering of canonicalisatie de vereiste serializer; een aannemelijke uitkomst bewijst geen protocolconformiteit. ECMAScript-definities en historische tekenverzamelingen.

Gegevens scheiden van structuur

  1. A&BOorspronkelijke waarde
  2. A%26BGecodeerde waarde
  3. ?q=A%26BWaarde in een query
Vast voorbeeld: & hoort bij de waarde, niet bij de querystructuur.

Van tekens naar bytes in een adres

Een procentcode geeft een byte weer met % en twee hexadecimale cijfers. café wordt caf%C3%A9 omdat é twee UTF-8-bytes heeft. Dit is geen versleuteling.

Een schuine streep, & en # kunnen structuur afbakenen. Codeer de waarde vóór invoegen; het hele adres als component coderen verbergt ook de scheidingstekens.

Volledige URI gebruikt encodeURI en behoudt gereserveerde tekens. Deze modus valideert geen domeinen, blokkeert geen gevaarlijke schema’s en maakt geen strikte canonieke RFC-vorm. Tekencategorieën in RFC 3986.

Waarom formulieren + gebruiken

Spaties worden + en een letterlijk plusteken wordt %2B. Formuliermodus codeert ook !, apostrofs, haakjes en ~ die JavaScript in componentmodus laat staan.

Hier wordt één waarde verwerkt. a=b&c=d wordt niet als twee afzonderlijke velden samengesteld. Gebruik een gestructureerde serializer voor volledige verzamelingen met herhaalde namen.

%2F opnieuw coderen geeft %252F. Dat kan nodig zijn bij nesten, maar ook een onbedoelde laag aangeven. Spreek met de ontvanger één laag per grens af. WHATWG-formulierserialisatie.

Vergelijk uitkomsten voordat je ze aan een URL toevoegt

De tabel houdt de invoer vast en wisselt modus. Plus is data en wordt %2B in waardemodi. Spatie is %20 als component en + als formulierwaarde. Tilde en uitroepteken laten zien dat wisselen meer doet dan spaties anders schrijven.

Invoerbytes gebruiken UTF-8. Uitvoerbytes en codepunten tellen de resulterende string met %, hexadecimale cijfers en leestekens. Elke %HH-code staat voor één byte op de grens maar drie uitvoertekens. De tellers meten geen grafemen en controleren geen serverlimiet.

Voorbeeld laden plaatst een demonstratie, niet een adresbezoek. Tekst en modus rekenen direct opnieuw zonder netwerk of extra verzendstap. Bewaar het origineel vóór wissen of de decoder openen: de tegenlink draagt invoer niet over.

Vaste invoer: data en structuur per modus
InvoerModusGecodeerde uitkomst
A&BURI-componentA%26B
A+B CURI-componentA%2BB%20C
A+B CFormulierwaardeA%2BB+C
folder/nameURI-componentfolder%2Fname
folder/nameVolledige URIfolder/name
~!URI-component~!
~!Formulierwaarde%7E%21

Letterlijke voorbeelden, geen volledige verzoeklichamen. Veldgrenzen en ontvangstregels blijven afzonderlijke keuzes.

Herstel fouten zonder de verkeerde laag te wijzigen

Als %2F %252F wordt, is een bestaand procentteken gecodeerd. Volledige URI codeert ook letterlijke procenttekens en bewaart niet automatisch al gecodeerde data. Begin bij het origineel, behalve bij een bewuste buitenlaag. Herschrijf een ondertekende URL niet door proefondervindelijk decoderen en hercoderen.

Een Unicode-fout kan een losse surrogate betekenen. De pagina weigert in plaats van stil een vervangteken te plaatsen. Verkrijg geldige brontekst; willekeurig vervangen kan een identifier veranderen. Een ontvanger met een oude bytecodering vraagt een andere converter, niet deze UTF-8-tool.

Kopiëren en TXT exporteren exact de uitkomst. Selecteer en kopieer handmatig bij klembordfout; kopieer bij downloadfout. De hulpmiddellink deelt de pagina zonder invoer, query of fragment. Lokaal omzetten beschermt geen klembordgeschiedenis of bestanden; coderen is geen veiligheidscontrole.

Methode en beperkingen

Lokale conversie met één toepassing van encodeURIComponent, encodeURI of de formulier-escapeset. Tellers meten UTF-8-bytes en Unicode-codepunten, geen grafemen.

Coderen versleutelt, zuivert of valideert een URL niet. Losse Unicode-surrogaten worden geweigerd. Volledige formulieren en een strikte RFC-modus worden niet aangeboden.

Bewaar het origineel en meld modus en verzonnen voorbeeld. Stuur nooit tokens of ondertekende privé-URL’s. Controleer ontvangerregels voordat je productielinks wijzigt.

Methode en beperkingen · Correctiebeleid

Veelgestelde vragen

Welke modus past bij een querywaarde?

URI-component, tenzij het protocol expliciet formuliercodering vraagt.

Is coderen hetzelfde als versleutelen?

Nee. De tekst is zonder geheim terug te halen.

Waarom werd %2F %252F?

Het procentteken is opnieuw gecodeerd.

Waarom behoudt volledige URI een ampersand?

De modus veronderstelt structurele gereserveerde scheiders. Hij weet niet dat een ampersand in ruwe querydata een waarde moest blijven. Codeer de waarde apart als component of vereiste formulierwaarde en bouw de structuur met een geschikte serializer.

Kan ik een volledig formulierlichaam hier coderen?

Alleen als één waarde, meestal niet zoals bedoeld. a=b&c=d wordt niet in velden gesplitst. Een volledige serializer codeert namen en waarden apart, dan verbindt hij met = en &. Herhaalde namen en lege velden vragen hetzelfde gestructureerde werk.

Waarom veranderen ~ en ! in formuliermodus?

De formulierverzameling codeert ze; JavaScript-componentcodering behoudt ze. * blijft ook in formuliermodus ongecodeerd. Kies volgens de ontvanger, niet de vorm. Er is geen extra strikte RFC-modus voor andere API-eisen.

Kan ik uitvoer inkorten door codes te verwijderen?

Niet blind. Een herstelde scheider kan op de verkeerde plek structuur worden; een multibyteteken heeft alle UTF-8-bytes nodig. Controleer of een limiet bytes, gedecodeerde tekst of het hele verzoek telt. Dit hulpmiddel kent die afspraak niet.

Bevat de hulpmiddellink mijn omgezette tekst?

Nee. Hij kopieert het adres zonder invoer, resultaat, huidige query of fragment. Tekst overdragen vraagt bewust kopiëren of downloaden. Ook de decoderlink bevat geen data: bewaar het origineel voordat je navigeert.