Tasuta konverter

URL-i kodeerija / Dekooder

Kodeerige ja dekodeerige URL-id ja URI-komponendid koheselt oma brauseris. Tasuta, privaatne ja pole vaja üles laadida.

Või

Sellest tööriistast

URL-i kodeering (formaalselt protsendikodeering, määratletud RFC 3986-s) tõlgib URL-ides erilise tähendusega märgid (tühikud, kaldkriipsud, ampersandid, räsimärgid) turvalisele kujule, kasutades protsendimärke, millele järgnevad kuueteistkümnendnumbrid. Tühikumärgiks saab %20 (või + vormiga kodeeritud kontekstides), ampersandiks %26 jne. Ilma selle kodeeringuta tõlgendataks erimärke pigem URL-i süntaksi kui sõnasõnaliste andmetena, mis rikuvad URL-i või põhjustavad soovimatut käitumist.

On olemas kaks omavahel seotud, kuid erinevat kodeeringut. Standardne URL-i komponendi kodeering kasutab %-paotavaid sümboleid kõige jaoks, mis jääb väljaspoole reserveerimata märgikomplekti: A–Z, a–z, 0–9, sidekriips, alakriips, punkt, tilde. Vormi kodeeringuga variant (application/x-www-form-urlencoded) käsitleb tühikuid lisaks plussmärkidena ja kasutab mõnede muude märkide puhul erinevaid reegleid. JavaScripti encodeURIComponent kasutab komponentide ranget kodeeringut; encodeURI kasutab lubavamat vormi, mis säilitab URL-i struktuuri märgid.

See tööriist pakub nii kodeerimist kui ka dekodeerimist. Kodeerimisrežiim murrab iga tähemärki, mis nõuab paoklahvi, vormingus %HH; dekodeerimisrežiim muudab teisenduse ümber. Mõlemad töötavad täielikult teie brauseris, kasutades sisseehitatud JavaScripti URL-i funktsioone, nii et andmeid ei saadeta kuhugi.

Miks URL-e kodeerida või dekodeerida?

Iga kord, kui URL-i kaasatakse andmed – päringustringi parameetrid, kasutaja sisendit sisaldavad teesegmendid, ümbersuunamise sihtmärgid – on nõutav õige kodeering. Kodeerimise ebaõnnestumine loob URL-id, mis erisümbolite ilmumisel purunevad, lekivad parameetrite piirid päringustringidesse (muudab &x=1 eraldi parameetriks) või veebiserverid blokeerivad neid valesti vormindatud päringutega.

Dekodeerimine on vastupidine: algandmete eraldamine kodeeritud URL-ist. Brauseri aadressiribad näitavad sageli URL-e kodeeritud kujul; dekodeerimine näitab, mis tegelikult oli mõeldud. Logimine, silumine ja turbeanalüüs saavad kasu dekodeeritud URL-idest, mis näitavad algseid parameetreid ja teid.

Kuidas kasutada

Kleepige string, valige suund.

  1. Valige kodeerimine või dekodeerimine: Kodeerimine murrab ebaturvalised märgid vormingus %HH. Dekodeerimine pöörab ümber %HH põgeneb tagasi literaalsetele tähemärkidele.
  2. Lisage sisendtekst: Kleepige string kodeerimiseks või dekodeerimiseks. Kodeerimisel on see tavaliselt sõnasõnaline väärtus tühikute, erimärkide või mitte-ASCII sisuga. Dekodeerimiseks on see URL või URL-i komponent, mis sisaldab %HH pause.
  3. Teisenda: Tööriist rakendab encodeURIComponent või decodeURIComponent. Kodeeritud väljundit on turvaline URL-i manustada; dekodeeritud väljund on algne literaalväärtus.
  4. Kopeerige või laadige alla: Kasutage tulemust kõikjal, kus seda vajate. Kodeeritud väärtused mahuvad URL-idesse; dekodeeritud väärtused paljastavad algandmed.

Levinud kasutusjuhtumid

Tehnilised üksikasjad

encodeURIComponent kodeerib kõik märgid väljaspool reserveerimata komplekti [A-Za-z0-9-_.~]. Tühikutest saab %20, plussmärkidest %2B, võrdusmärkidest %3D ja nii edasi. ASCII-välised märgid kodeeritakse esmalt UTF-8-ga ja seejärel on iga bait %-paokood.

encodeURI on lubavam ja mõeldud pigem täielike URL-ide kui komponentide jaoks. See ei jäta vahele /, ?, &, =, # ja mõnda muud, kuna neil tähemärkidel on URL-i süntaksi tähendus. Kasutajaandmete manustamiseks URL-i on encodeURIComponent peaaegu alati õige valik.

decodeURIComponent pöörab %-paotused ümber, kinnitades, et iga paovahetus on hästi vormistatud ja sellest tulenevad baidid moodustavad kehtiva UTF-8. Vigane sisend tekitab pigem vea, mitte ei tekita prügi.

Parimad tavad

Korduma kippuvad küsimused

Millised märgid vajavad URL-i kodeerimist?
Reserveeritud märgid (&, =, ?, #, /, :, @) ja ebaturvalised märgid (tühikud, <, >, {, }, |, ^, ~, [, ], `) peavad olema kodeeritud. Tähtnumbrilised märgid ja -_.~ on ohutud ega vaja kodeerimist.
Mis vahe on encodeURI ja encodeURIComponent vahel?
encodeURI kodeerib täieliku URL-i, kuid säilitab reserveeritud märgid (://?#). encodeURIComponent kodeerib kõike peale -_.!~*'() — kasutage seda päringuparameetrite väärtuste jaoks. See tööriist pakub mõlemat režiimi.
Kuidas on URL-ides tühikud kodeeritud?
Tühikuid saab kodeerida kui %20 (standardne protsendikodeering) või + (vormi kodeering). %20 on õige URL-i teede jaoks, samas kui + kasutatakse HTML-vormide päringu stringides. See tööriist kasutab vaikimisi %20.
Kas ma saan Unicode'i tähemärke kodeerida?
Jah. Unicode'i märgid kodeeritakse esmalt UTF-8 baiti, seejärel kodeeritakse iga bait protsentides. Näiteks '日' muutub %E6%97%A5 (kolm UTF-8 baiti, iga protsent kodeeritud).
Kas ma peaksin kasutama encodeURI või encodeURIComponent?
Peaaegu alati encodeURIComponent. Kasutage encodeURI-d ainult siis, kui teil on täielik URL ja soovite selle struktuuri säilitada – tavaliselt harva, kuna loote URL-e niikuinii komponentidest.
Kas minu andmed laaditakse serverisse?
Ei. URL-i kodeerimine ja dekodeerimine toimuvad täielikult teie brauseris.
Kas see käsitleb Unicode'i emotikone?
Jah. Emotikonid on mitmebaidised UTF-8 jadad; kodeerija loob %-pakendatud baitide ahela, mille dekooderid õigesti tagasi algse emotikonina kokku panevad.
Mis siis, kui mu sisendis on %HH-välimusega stringe, mis pole tegelikult kodeeritud?
Kodeerimine muudab iga % %25-ks, seejärel rakendab ülejäänu jaoks uuesti põgenemise. Range sisendi dekodeerimine tekitab valesti vormindatud vältimisel vigu; mitmetähendusliku välimusega stringid võivad valesti dekodeerida.