URI-komponentkodare
Om du någonsin har skickat ett värde som name=John & Jane in i en URL utan att koda det, känner du smärtan: & läses som en ny parameter och servern ser skräp. Det här verktyget procent-kodar vilken sträng som helst för säker användning som URI-komponent enligt RFC 3986, och förvandlar varje reserverat tecken till ett %HH-par (mellanslag inräknade). Klistra in ett fragment, ett frågevärde eller ett omdirigeringsmål och få tillbaka något som är säkert att konkatenera in i vilken URL som helst.
Så kodar du en URI-komponent
-
1
Klistra in ditt värde
Släpp in ett enskilt frågeparametervärde, ett sökvägssegment eller en fragmentsträng.
-
2
Välj koda eller avkoda
Byt riktning för att förvandla procent-escapes tillbaka till de ursprungliga tecknen.
-
3
Kör det
Verktyget UTF-8-kodar varje tecken och ersätter sedan varje reserverad byte med %HH.
-
4
Kopiera resultatet
Släpp utdatan direkt i din URL-mall eller API-klient.
Vad som escapas
Den här kodaren följer RFC 3986: endast den oreserverade uppsättningen lämnas orörd, A-Z a-z 0-9 - _ . ~. Allt annat blir procent-kodad UTF-8, inklusive mellanslaget och underavgränsarna ! * ' ( ) som JavaScripts encodeURIComponent skulle lämna i fred.
| Tecken | Kodas som |
|---|---|
| mellanslag | %20 |
! |
%21 |
# |
%23 |
& |
%26 |
' |
%27 |
( |
%28 |
) |
%29 |
* |
%2A |
+ |
%2B |
/ |
%2F |
= |
%3D |
? |
%3F |
é |
%C3%A9 |
Komponent kontra fullständig URI
Den här kodaren är striktare än encodeURI, som lämnar : / ? # [ ] @ ! $ & ' ( ) * + , ; = i fred eftersom de tecknen är strukturella i en URL. För ett värde du konkatenerar in i en frågesträng vill du ha den strikta formen, och det är precis vad det här verktyget producerar: det escapar till och med ! ' ( ) * och går därmed ett steg längre än JavaScripts encodeURIComponent.
const url = `/search?q=${encodeURIComponent(userInput)}`;
Vanliga fallgropar
- Dubbelkodning: att koda något som redan är kodat ger dig
%2520i stället för%20. Avkoda alltid först om du är osäker på källan. - Plustecken i formulär: HTML-formulärinlämning kodar mellanslag som
+, inte%20. Avkodare som följer RFC 3986 strikt (den här inräknad) förvandlar inte+tillbaka till ett mellanslag. Använd en formulärmedveten avkodare för de fallen. - Sökvägsavgränsare: att koda
/blir här%2F. Om du vill behålla den verkliga sökvägsstrukturen, foga först ihop segmenten och koda varje för sig.
Vanliga frågor
Det är procent-kodning enligt RFC 3986, den strikta formen. Den escapar :, /, ?, # och de övriga reserverade tecknen (plus !, ', (, ) och *) eftersom en komponent inte bör bära URL-struktur inuti sig. Det gör den striktare än JavaScripts encodeURIComponent och mycket striktare än encodeURI.
%20 är RFC 3986-sättet. + för mellanslag är ett arv från application/x-www-form-urlencoded-kroppskodning. För frågesträngar i URL:er är %20 alltid säkert; + förväntas bara på servern när det producerades av en formulär-POST.
Varje tecken UTF-8-kodas först, sedan escapas varje byte. Ett tecken som 日 blir %E6%97%A5 (tre byte).
Nej. Värdet procent-kodas på serversidan för att bygga ditt resultat och lagras eller loggas inte; inget av det du klistrar in behålls efter att svaret har skickats.
Relaterade verktyg
ASCII-tabellreferens
Full ASCII-tabell från 0 till 127 med decimal-, hex-, oktal- och binärvärden samt notation för numeriska HTML-referenser, inklusive NUL, LF och DEL.
HTML-teckenreferens
En sökbar lista över HTML-entiteter med deras namngivna och numeriska koder samt kopiering med ett klick för specialtecken och symboler.
CSS-pilgnerator
Skapa lokalt en CSS-pil med riktning, färg, storlek och ramens tjocklek och kopiera sedan regeln.
Referens för kortkommandon
Sök dokumenterade standardkommandon för VS Code, Chrome och Bash med GNU Readline i macOS, Windows och Linux.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Markdown-förhandsvisare
Skriv Markdown och se den renderade HTML:en uppdateras live. GitHub-flavored syntax med tabeller, uppgiftslistor, inramad kod och autolänkar.
Verktyget finns på andra språk
- URI-Komponenten-Encoder [DE]
- Koder komponentu URI [PL]
- Bộ mã hóa Thành phần URI [VI]
- Codificador de Componentes URI [ES]
- Encodeur de composants URI [FR]
- Codificador de Componentes URI [PT]
- Encoder Komponen URI [ID]
- مُرمِّز مكوّن URI [AR]
- URIコンポーネントエンコーダー [JA]
- URI-component-encoder [NL]
- ตัวเข้ารหัสองค์ประกอบ URI [TH]
- URI 컴포넌트 인코더 [KO]
- URI Bileşeni Kodlayıcı [TR]
- URI 组件编码器 [ZH]
- URI Component Encoder [EN]
- Codificatore di componenti URI [IT]
- Кодировщик компонента URI [RU]