Šis įrankis yra skirtas tekstui konvertuoti, jį koduojant arba dekoduojant naudojimui URL adresuose, taip pat apsaugant (escaping) arba atkuriant (unescaping) HTML esybes. Naudotojai gali pasirinkti apdoroti pilną URL adresą arba tik atskirą jo komponentą. Įrankis suteikia galimybę įkelti pavyzdinį tekstą, išvalyti įvesties lauką arba perkelti gautą rezultatą atgal į įvesties lauką tolimesniam apdorojimui.
Svetainėje integruotas funkcionalumas yra naudingas programuotojams, turinio redaktoriams bei palaikymo personalui, kuriems reikia saugiai įterpti tekstą į URL fragmentus arba HTML dokumentus. Taip pat įrankis praverčia visiems, norintiems perskaityti jau užkoduotą procentinį kodavimą (percent-encoding) arba HTML esybes.
URL kodavimo ir dekodavimo paskirtis
URL kodavimas, dar žinomas kaip procentinis kodavimas, yra naudojamas informacijai perduoti interneto adresuose. Kadangi URL adresai gali perduoti tik ribotą standartinių simbolių rinkinį, visi kiti simboliai, įskaitant tarpus, specialiuosius ženklus ir ne ASCII simbolius (pavyzdžiui, lietuviškas ar kiniškas raides), turi būti pakeisti saugiomis sekomis.
Procentinio kodavimo metu specialieji simboliai paverčiami į procento ženklą %, po kurio seka dvi šešioliktainės reikšmės, atitinkančios simbolio kodą UTF-8 koduotėje. Pavyzdžiui, įvestas tekstas labas pasauli & city=Vilnius po URL kodavimo virsta į labas%20pasauli%20%26%20city%3DVilnius. Atliekant atvirkštinį veiksmą – dekodavimą – šios sekos vėl paverčiamos įprastu, žmogui lengvai skaitomu tekstu.
URL komponento ir pilno URL kodavimo skirtumai
Apdorojant URL adresus, labai svarbu pasirinkti tinkamą apimties režimą, nes nuo to priklauso, kurie simboliai bus pakeisti. Įrankis siūlo dvi parinktis:
- Komponentas (Component): Šis režimas naudoja „JavaScript“ funkciją
encodeURIComponent(koduojant) arbadecodeURIComponent(dekoduojant). Jis skirtas atskiriems užklausų parametrams, kelio dalims arba formų reikšmėms apdoroti. Šiuo režimu koduojami visi specialieji simboliai, įskaitant:,/,?,&,=, kad jie nesutrikdytų bendros URL struktūros. - Pilnas URL: Šis režimas naudoja funkcijas
encodeURIirdecodeURI. Jis taikomas tada, kai norima užkoduoti visą adresą, išlaikant funkcinius URL simbolius (tokius kaip protokolo skirtukas, domeno skirtukai ar užklausos pradžios ženklai) nepakeistus ir įskaitomus.
HTML esybių kodavimas ir tekstų saugumas
HTML esybių kodavimas (escaping) yra procesas, kurio metu specialieji simboliai paverčiami į atitinkamus HTML kodus. Tai leidžia saugiai įklijuoti tekstą į HTML dokumento kūną arba elementų atributus, išvengiant situacijų, kai naršyklė tekstą interpretuoja kaip HTML žymas. Pasirinkus HTML esybių režimą, įrankis pakeičia tokius simbolius kaip <, >, &, kabutes bei ne ASCII tekstą į jų esybių atitikmenis. Pavyzdžiui, ne ASCII tekstas 保存 arba specialieji simboliai paverčiami saugiomis sekomis. Atkūrimo (unescaping) funkcija atlieka priešingą veiksmą – grąžina originalius simbolius iš HTML esybių kodo. Svarbu suprasti skirtumą tarp HTML esybių kodavimo ir saugumo sanitarizavimo (sanitization). Kodavimas tik pakeičia simbolius, kad jie būtų teisingai atvaizduojami naršyklėje kaip tekstas, tačiau tai nėra tas pats, kas kenksmingo kodo filtravimas ar pilna apsauga nuo saugumo pažeidimų.
Procentinio kodavimo taisyklės ir dekodavimo klaidos
Dekoduojant URL adresus, procentinės sekos privalo sudaryti pilnas ir teisingas UTF-8 sekas. Jei įvestyje pateikiama sugadinta arba nebaigta seka, dekodavimo procesas negali būti sėkmingai įvykdytas.
Pavyzdžiui, jei įvestyje pateikiama nebaigta seka %E0%A4%A, įrankis negalės jos iššifruoti ir pateiks klaidos pranešimą: „Šiame URL tekste yra sugadinta procentinio kodavimo seka.“. Tokiu atveju naudotojas turi patikrinti įvesties duomenis ir įsitikinti, kad visi procentiniai kodai yra pilni.
Įrankio naudojimo taisyklės ir apribojimai
Apdorojant duomenis šiame įrankyje, galioja tam tikros techninės taisyklės ir apribojimai:
- Maksimalus dydis: Įvesties laukas priima tekstą, kurio ilgis neviršija 2 000 000 simbolių. Jei įvestas tekstas yra per didelis, sistema parodys pranešimą: „Įvestis per didelė šiam įrankiui. Neviršykite
{max}simbolių.“. - Tuščia įvestis: Bandant atlikti konvertavimą be įvesto teksto, rodomas pranešimas: „Pirmiausia įklijuokite tekstą.“.
- Apdorojimo laikas: Jei konvertavimo procesas užsitęsia, sistema pateikia pranešimą: „Konvertavimas užtrunka per ilgai. Bandykite su mažesne įvestimi.“.
- Kitos klaidos: Jei konvertavimas nepavyksta dėl kitų nenumatytų priežasčių, rodomas pranešimas: „Nepavyko konvertuoti šios įvesties.“.
Naudotojo patogumui įrankis pateikia būsenos pranešimus: sėkmingai išvalius laukus rodoma „Įvestis ir rezultatas išvalyti.“, perkėlus rezultatą į įvestį – „Rezultatas perkeltas į įvesties lauką.“, o įkėlus pavyzdį – „Pavyzdys įkeltas.“. Pasirinkus HTML esybių režimą, URL apimties pasirinkimo valdiklis yra automatiškai paslepiamas.
Privatumo užtikrinimas
Naudojantis šiuo įrankiu, jūsų įvedamas URL arba HTML tekstas yra konvertuojamas tiesiogiai jūsų interneto naršyklėje. Jokie įvesti duomenys nėra siunčiami į „BroBroGo“ serverius, todėl visas apdorojimo procesas vyksta lokaliai jūsų įrenginyje.
Dažniausiai užduodami klausimai (FAQ)
Ar turėčiau pasirinkti URL komponentą, ar pilną URL?
Naudokite „Component“ parinktį užklausų reikšmėms, kelio dalims arba formų reikšmėms. Naudokite „Full URL“, jei norite išlaikyti tokius simbolius kaip: /? & = įskaitomus.
Ką keičia HTML esybių kodavimas (escaping)?
Jis paverčia tokius simbolius kaip <, >, &, kabutes ir ne ASCII tekstą į esybes (entities), kurias galima saugiai įklijuoti į HTML tekstą arba atributus.
Kodėl kartais nepavyksta dekoduoti URL?
Procentinis kodavimas turi sudaryti pilnas UTF-8 sekas. Sugadintos sekos, tokios kaip %E0%A4%A, negalima dekoduoti neatspėjus trūkstamų dalių.
Kur vyksta mano įvestų duomenų apdorojimas?
Jūsų URL ir HTML tekstas konvertuojamas naršyklėje. Nieko nesiunčiama į „BroBroGo“.