Miten se toimii
Jokainen sallitun joukon ulkopuolella oleva merkki kirjoitetaan prosenttimerkiksi, jota seuraa sen UTF-8-tavun kaksi heksadesimaalilukua. encodeURIComponent ohittaa kaiken paitsi A-Z a-z 0-9 -_ . ! ~ * ( ), kun taas encodeURI säilyttää varatun URL-osoitteen välimerkit ennallaan.
- Käytä komponenttitilaa kyselyarvoille; täyden URL-osoitteen tila säilyttää : / ? & = ehjä.
Miksi sillä on merkitystä
Kyselymerkkijonot katkeavat hienovaraisilla tavoilla: &:n sisältävä hakutermi luo hiljaisesti uuden parametrin, tiedostonimen sisällä oleva vinoviiva muuttaa polkua ja välilyönti päätyy odottamattomaan paikkaan. Oikea koodaus on ero toimivan linkin ja tukilipun välillä.
Toimiva esimerkki
encodeURIComponent("a b&c") palauttaa a%20b%26c, kun taas encodeURI säilyttää &, koska se käsittelee merkkijonoa kokonaisena URL-osoitteena. Väärän vaihtoehdon valitseminen muuttaa sitä, missä kysely jakautuu.
Yleisiä virheitä
- Täysi URL-koodauksen käyttäminen yksittäiselle kyselyarvolle.
- Odotetaan decodeURIComponentin muuttavan + välilyönniksi; eli lomakekoodausta.
- Koodataan kahdesti ja mietitään, miksi palvelin näkee %2520.
Käytännön vinkkejä
Koodaa jokainen kyselyarvo erikseen ja muodosta sitten URL-osoite koodatuista osista. Jos arvo näyttää jo koodatulta, pura se kerran ja koodaa uudelleen puretusta muodosta – toistuva koodaus on yleisin %25-tyylisten virheiden lähde.
Kuinka käyttää sitä
- Avaa työkalu. Kaikki toimii selaimesi välilehdessä.
- Liitä tai kirjoita syöte ja valitse sitten haluamasi toiminto.
- Tarkista tulos ja kopioi se yhdellä napsautuksella.
Yleisiä kysymyksiä
Milloin käytän komponenttia verrattuna koko URL-osoitteeseen?
Komponentti yksittäiselle kyselyarvolle, missä / ? & = on pakottava. Koko URL-osoite pitää erottimet ennallaan.
Miksi välilyönneistä tulee %20?
Prosenttikoodaus edustaa välilyöntiä %20. +-lomake kuuluu HTML-lomakekoodaukseen, ei URL-osoitteisiin.
Miksi dekoodaus jättää + merkkejä?
decodeURIComponent ei käsittele +-merkkiä välilyöntinä. Korvaa + välilyönnillä ensin, jos arvo tuli lomakkeen lähetyksestä.
Onko tämä työkalu todella ilmainen?
Kyllä. Ei ole tiliä, ei maksumuuria eikä käyttörajaa. Tools Appin rahoittaa aumenso, sen takana oleva studio.
Onko jotain kirjoittamani ladattu?
Ei. Työkalu toimii selaimesi välilehdessä. mitä syötät, sitä ei koskaan lähetetä meille eikä tallenneta.