URI-component-encoder
Als je ooit een waarde als name=John & Jane in een URL hebt gezet zonder die te coderen, ken je de ellende: de & wordt als een nieuwe parameter gelezen en de server ziet onzin. Dit hulpmiddel codeert elke tekenreeks procentueel voor veilig gebruik als URI-component volgens RFC 3986, en zet elk gereserveerd teken om in een %HH-paar (spaties inbegrepen). Plak een fragment, een querywaarde of een omleidingsdoel en krijg iets veiligs om aan elke URL te plakken.
Zo codeer je een URI-component
-
1
Plak je waarde
Voer één queryparameterwaarde, padsegment of fragmenttekenreeks in.
-
2
Kies coderen of decoderen
Wissel van richting om procent-escapes terug om te zetten naar de oorspronkelijke tekens.
-
3
Voer het uit
Het hulpmiddel codeert elk teken in UTF-8 en vervangt daarna elke gereserveerde byte door %HH.
-
4
Kopieer het resultaat
Zet de uitvoer direct in je URL-sjabloon of API-client.
Wat wordt geëscapet
Deze encoder volgt RFC 3986: alleen de niet-gereserveerde set blijft ongemoeid, A-Z a-z 0-9 - _ . ~. Al het andere wordt procentgecodeerde UTF-8, inclusief de spatie en de subscheidingstekens ! * ' ( ) die JavaScripts encodeURIComponent met rust zou laten.
| Teken | Gecodeerd als |
|---|---|
| spatie | %20 |
! |
%21 |
# |
%23 |
& |
%26 |
' |
%27 |
( |
%28 |
) |
%29 |
* |
%2A |
+ |
%2B |
/ |
%2F |
= |
%3D |
? |
%3F |
é |
%C3%A9 |
Component versus volledige URI
Deze encoder is strenger dan encodeURI, dat : / ? # [ ] @ ! $ & ' ( ) * + , ; = met rust laat omdat die tekens structureel zijn in een URL. Voor een waarde die je in een querystring plakt wil je de strenge vorm, en dat is precies wat dit hulpmiddel produceert: het escapet zelfs ! ' ( ) * en gaat daarmee een stap verder dan JavaScripts encodeURIComponent.
const url = `/search?q=${encodeURIComponent(userInput)}`;
Veelvoorkomende valkuilen
- Dubbele codering: iets coderen dat al gecodeerd is, geeft
%2520in plaats van%20. Decodeer altijd eerst als je niet zeker bent van de bron. - Plustekens in formulieren: het indienen van HTML-formulieren codeert spaties als
+, niet als%20. Decoders die RFC 3986 strikt volgen (deze inbegrepen) zetten+niet terug om in een spatie. Gebruik in die gevallen een formulierbewuste decoder. - Padscheidingstekens:
/coderen wordt hier%2F. Als je de echte padstructuur wilt behouden, voeg dan eerst de segmenten samen en codeer elk afzonderlijk.
Veelgestelde vragen
Het is procentcodering volgens RFC 3986, de strenge vorm. Het escapet :, /, ?, # en de overige gereserveerde tekens (plus !, ', (, ) en *) omdat een component geen URL-structuur in zich mag dragen. Daarmee is het strenger dan JavaScripts encodeURIComponent en veel strenger dan encodeURI.
%20 is de manier volgens RFC 3986. + voor een spatie is een erfenis van de application/x-www-form-urlencoded-body-codering. Voor querystrings in URLs is %20 altijd veilig; + wordt alleen op de server verwacht als het door een formulier-POST is geproduceerd.
Elk teken wordt eerst in UTF-8 gecodeerd, daarna wordt elke byte geëscapet. Een teken als 日 wordt %E6%97%A5 (drie bytes).
Nee. De waarde wordt aan de serverzijde procentueel gecodeerd om je resultaat te bouwen en wordt niet opgeslagen of gelogd; niets van wat je plakt blijft bewaard nadat het antwoord is verstuurd.
Gerelateerde tools
Luhn-algoritme-checker
Controleer de creditcardnummer, IMEI, SIN en andere door Luhn beschermden nummers. Geef een resultaat terug (goed of fout) en toon elke stap van het verdubbelen en het berekenen van de controlesom aan.
JSON naar PHP-array
Zet JSON om naar een PHP-array-literal met korte syntaxis, associatieve/geïndexeerde arrays en geneste structuren, klaar om in een .php-bestand te plakken.
ASCII-tabelreferentie
Volledige ASCII-tabel van 0 tot 127 met decimale, hexadecimale, octale en binaire waarden en HTML-numerieke referentienotatie, inclusief control codes zoals NUL, LF en DEL.
Telefoonnummers controleren
Controleer de structuur van telefoonnummers per land en bekijk regio, type en E.164-, internationale, nationale en RFC 3966-notatie.
Sneltoetsenoverzicht
Zoek gedocumenteerde standaardsneltoetsen voor VS Code, Chrome en Bash met GNU Readline op macOS, Windows en Linux.
ASCII naar binair-converter
Converteer elke ASCII-string naar zijn binaire representatie. Elk teken wordt acht bits, gescheiden door spaties, klaar voor protocoltrace of huiswerk.
Tool beschikbaar in andere talen
- URI 컴포넌트 인코더 [KO]
- مُرمِّز مكوّن URI [AR]
- Codificador de Componentes URI [ES]
- URIコンポーネントエンコーダー [JA]
- Bộ mã hóa Thành phần URI [VI]
- Encodeur de composants URI [FR]
- Koder komponentu URI [PL]
- URI-Komponenten-Encoder [DE]
- ตัวเข้ารหัสองค์ประกอบ URI [TH]
- URI-komponentkodare [SV]
- Encoder Komponen URI [ID]
- Codificador de Componentes URI [PT]
- Кодировщик компонента URI [RU]
- URI Bileşeni Kodlayıcı [TR]
- URI 组件编码器 [ZH]
- Codificatore di componenti URI [IT]
- URI Component Encoder [EN]