URL's Encoderen en Decoderen: Een Complete Gids
Snel antwoord
URL-codering zet unsafe tekens om in %XX-reeksen waarbij XX de hexadecimale waarde van de byte is. Spaties worden %20 (of + in form-data), Chinese tekens worden multi-byte %XX-reeksen. Gebruik onze gratis URL Encoder en URL Decoder —alle verwerking gebeurt lokaal.
Invoering
URL-codering, ook percent-codering genoemd, is een mechanisme voor het coderen van reserved en unsafe tekens in een URL zodat de URL veilig via het internet kan worden verzonden. URL's kunnen slechts een beperkte set ASCII-tekens bevatten; elk ander teken (spaties, niet-ASCII letters, symbolen) moet percent-gecodeerd worden als een reeks beginnend met % gevolgd door twee hexadecimale cijfers.
Stap voor stap
-
Identificeer wat codering nodig heeft
Tekens die niet in de niet-gereserveerde set voorkomen (A-Z, a-z, 0-9, -, ., _, ~) moeten procentgecodeerd zijn. Dit omvat spaties, scheidingstekens voor zoekopdrachten zoals = en &, schuine strepen en alle niet-ASCII-tekens, zoals Chinees, Arabisch of emoji.
-
Codeer de URL of queryreeks
Plak uw tekst in de URL Encoder-tool. Het gebruikt encodeURIComponent() om elk gereserveerd teken te coderen. Het resultaat verschijnt onmiddellijk in het uitvoerveld.
-
Kopieer het gecodeerde resultaat
Klik op de knop Kopiëren om de procentgecodeerde tekenreeks te kopiëren. U kunt het nu veilig insluiten in een URL queryparameter, API verzoek of formulierinzending.
-
Decodeer een gecodeerde URL
Plak een gecodeerde URL of queryreeks in de URL Decoder-tool. Het gebruikt decodeURIComponent() om de originele karakters te herstellen. Controleer of de gedecodeerde uitvoer overeenkomt met uw verwachting.
-
Randgevallen verifiëren
Controleer of spaties correct zijn gedecodeerd (%20 vs +), dat multi-byte UTF-8-reeksen naar het juiste teken worden gedecodeerd en dat reeds gecodeerde tekenreeksen niet dubbel gecodeerd zijn.
Voorbeelden
Codeer tekst met een spatie
Invoer: Hello World
Uitvoer: Hello%20World
Codeer een padscheidingsteken
Invoer: a/b
Uitvoer: a%2Fb
Codeer Chinese karakters (UTF-8)
Invoer: 你好
Uitvoer: %E4%BD%A0%E5%A5%BD
Decodeer een gecodeerde queryparameter
Invoer: key%3Dvalue%26foo%3Dbar
Uitvoer: key=value&foo=bar
Veelvoorkomende problemen
- Dubbele codering: bij het coderen van een reeds gecodeerde tekenreeks wordt %20 omgezet in %2520. Controleer altijd of de invoer al gecodeerd is voordat u opnieuw codeert.
- EncodeURI verwarren met encodeURIComponent: encodeURI houdt gereserveerde tekens zoals /, ?, & intact voor de volledige URLs, terwijl encodeURIComponent alles codeert voor queryparameterwaarden.
- Ruimteverwerking: %20 is de procentgecodeerde vorm; + is alleen geldig in application/x-www-form-urlencoded body data, niet in URL pad of queryreeks volgens RFC 3986.
- Niet-UTF-8 oudere coderingen: moderne browsers coderen als UTF-8, maar oudere systemen kunnen GBK of Latin-1 gebruiken, waardoor mojibake ontstaat wanneer ze aan de andere kant worden gedecodeerd.
Tips
- Gebruik encodeURIComponent() voor individuele queryparameterwaarden, en encodeURI() voor volledige URLs die al goed zijn opgemaakt.
- Wanneer u queryreeksen samenstelt, codeert u de waarde, maar niet de =- of &-scheidingstekens. Codeer elke waarde afzonderlijk en voeg deze vervolgens samen met &.
- Gebruik onze URL Encoder- en Decoder-tools voor het debuggen van API-aanroepen die 400 fouten retourneren als gevolg van verkeerd opgemaakte queryreeksen.
- Decodeer altijd aan de serverzijde met dezelfde tekencodering (UTF-8) om mojibake te voorkomen.