Interpretácia percentových sekvencií
Tento nástroj použite na jednu zakódovanú časť skopírovanú z URL. Obnoví bajty vyjadrené percentovými trojicami a potom ich dekóduje ako text UTF-8. Napríklad %20 sa zmení na medzeru a %26 na ampersand vo vnútri hodnoty, nie na oddeľovač parametrov. Pomáha čítať parameter v logu alebo zistiť obsah segmentu cesty. Neúplná percentová trojica alebo neplatný sled bajtov UTF-8 vyvolá chybu namiesto tichej náhrady.
Nepredpokladajte, že sa tu znak plus zmení na medzeru. Takáto zámena patrí k formulárovému kódovaniu a jednoduchý dekodér komponentov ju nerobí. Dekódovanie celej URL naraz môže navyše vrátiť ošetrené oddeľovače do aktívnej štruktúry a zmeniť výklad neskorším parserom. Najprv vyberte komponent, dekódujte ho raz a pri ladení zachovajte pôvodnú adresu. Ak je hodnota zakódovaná dvakrát, prvý prechod môže odhaliť ďalšiu percentovú trojicu; pokračujte iba ak formát vyžaduje dve vrstvy.
Percentové kódovanie časti URL
URL sa skladá zo štruktúrnych oddeľovačov a hodnôt. Lomka oddeľuje časti cesty, otáznik začína dopyt a ampersand oddeľuje parametre. Ak hodnota obsahuje medzeru, ampersand alebo znak mimo ASCII, percentové kódovanie zabráni zámene hodnoty so štruktúrou URL. Text sa najprv prevedie na bajty UTF-8; bajty vyžadujúce ošetrenie sa zapíšu ako znak percenta a dve hexadecimálne číslice. Medzera sa často zmení na %20, písmeno s diakritikou zvyčajne vyžaduje viac kódovaných bajtov.
Tento nástroj spracúva jednu časť, napríklad hodnotu parametra alebo segment cesty, nie celú poskladanú URL. Pri zakódovaní celej adresy sa môžu zmeniť aj potrebné oddeľovače. Webové formuláre používajú aj konvenciu application/x-www-form-urlencoded, kde znak plus často znamená medzeru. Tá sa od tu použitého kódovania komponentu líši. Dekódujte zodpovedajúcimi pravidlami, zachovajte štruktúru URL a na skladanie hodnôt podľa možnosti použite rozhranie URL.
Pred dekódovaním overte zakódovaný zdroj
Začnite hodnotou, ktorá je skutočne zapísaná očakávaným spôsobom. Vložte zakódovaný komponent alebo sled bajtov a porovnajte čitateľný výstup so záznamom, z ktorého pochádza. Dekodér beží v tomto prehliadači a reťazec neposiela na server na konverziu. Poškodený vstup alebo iný formát môže podľa operácie zlyhať či zostať čiastočne nezmenený. Zachovajte pôvodnú zakódovanú hodnotu, aby ste vedeli, či nečakaný znak pochádzal zo zdroja alebo z vašej interpretácie.
Dekódovaný text považujte za nový, potenciálne nedôveryhodný vstup. Čitateľná veta môže obsahovať značkovanie, URL, text podobný príkazu alebo súkromné údaje, ktoré treba ošetriť samostatne. Nevkladajte ju do vykonateľného kontextu len preto, že dekódovanie prešlo. Ak výsledok nesedí, overte deklarované kódovanie znakov a či skorší systém hodnotu nezakódoval viackrát. Opakované dekódovanie bez poznania vrstiev môže zmeniť doslovný oddeľovač na aktívnu štruktúru.