Codificator și decodificator URL
Codifică procentual text pentru URL-uri și query string-uri, decodifică URL-uri codificate și descompune orice URL în părți, cu parametrii de interogare decodificați.
Rulează în browserFără înregistrareNimic nu este încărcat
Componente
Parametri de interogare
Cum se folosește: Codificare / decodificare URL
- Alege Codifică sau Decodifică.
- La codificare, alege Componentă pentru o singură valoare de parametru sau segment de cale, URL complet pentru a păstra structura URL-ului sau Date de formular pentru
application/x-www-form-urlencoded. - Lipește textul. Rezultatul apare instant; escape-urile greșite sunt raportate cu poziția lor.
- Lipește un URL complet în parserul URL pentru a vedea host-ul, calea, fragmentul și fiecare parametru de interogare decodificat.
Ce este codificarea URL?
URL-urile pot conține doar un set limitat de caractere ASCII (RFC 3986). Orice altceva, inclusiv spațiile, literele cu diacritice și caracterele cu semnificație specială precum &, ? și #, se scrie ca semn procent urmat de două cifre hexazecimale pentru fiecare octet UTF-8. Un spațiu devine %20, iar é devine %C3%A9.
encodeURIComponent vs. encodeURI
| Funcție | Lasă neschimbate | Folosește pentru |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | O singură valoare de parametru, segment de cale sau nume de parametru |
encodeURI | În plus : / ? # [ ] @ ! $ & ' ( ) * + , ; = | Un URL întreg a cărui structură trebuie păstrată |
Folosirea encodeURI pentru o valoare de parametru este o greșeală clasică: un & din interiorul valorii nu este escapat, așa că împarte parametrul în două. Modul Componentă al acestui instrument escapează și ! ' ( ) * pentru conformitate strictă cu RFC 3986.
%20 sau + pentru spații?
În căi, un spațiu trebuie să fie %20. În trimiterile de formulare HTML (application/x-www-form-urlencoded) și în multe query string-uri, un spațiu se scrie ca +. La decodificare, activează Tratează + ca spațiu pentru date de formular și dezactivează-l când contează un plus literal, ca în jane+test@example.com.
Întrebări frecvente
De ce primesc „Secvență escape greșită” la decodificare?
% trebuie urmat de exact două cifre hexazecimale. Un semn procent literal, ca în „50% reducere”, ar fi trebuit codificat ca %25. Eroarea arată poziția secvenței greșite.Ce înseamnă „Secvență de octeți UTF-8 invalidă”?
%E9 pentru é în loc de %C3%A9), sau șirul a fost tăiat în mijlocul unui caracter.Ar trebui să codific tot URL-ul sau doar parametrii?
= și &. Codificarea unui URL complet în modul componentă ar escapa și :// și l-ar strica.Este dubla codificare o problemă?
%20 în %2520. Dacă vezi %25 urmat de cifre hexazecimale, valoarea a fost probabil codificată de două ori. Decodific-o de două ori pentru a recupera originalul.