Utilia

URL кодирање и декодирање

Бесплатно URL кодирање и декодирање. Процентно кодирајте параметри или цели адреси, декодирајте низи %XX и третирајте + како празно место. Во прелистувачот.

Режим

Како да го користите URL кодирањето и декодирањето

  1. Изберете Кодирај за да го претворите текстот во форма безбедна за URL, или Декодирај за процентно кодираниот текст да го вратите во читливи знаци.
  2. При кодирање изберете режим: Дел од URL за една вредност (како параметар на барање или сегмент од патека), или Цел URL за да се кодира комплетна адреса при што нејзината структура останува недопрена.
  3. При декодирање на податоци од HTML формулар или низа на барање, овозможете Третирај го + како празно место за знаците + да станат празни места.
  4. Залепете го текстот и копирајте го резултатот. Ако процентна низа е неисправна, алатката пријавува грешка наместо да погодува.

Што е URL кодирање?

URL адресите може да содржат само ограничен збир ASCII знаци. Некои знаци, како /, ?, #, & и =, се резервирани бидејќи ги одделуваат деловите на адресата: патеката, низата на барање и фрагментот. Други, како празни места, наводници, букви со акценти или емоџиња, едноставно не се дозволени. URL кодирањето, наречено и процентно кодирање, ги решава двата проблема заменувајќи го секој проблематичен бајт со % проследен со две хексадецимални цифри.

Текстот прво се претвора во UTF-8 бајти, а секој бајт се кодира одделно. Празно место станува %20, амперсанд станува %26, é (два бајта во UTF-8) станува %C3%A9, а емоџито 😀 (четири бајта) станува %F0%9F%98%80. Нерезервираните знаци, односно букви, цифри и - _ . ~, никогаш не треба да се кодираат.

Режим дел од URL наспроти цел URL

Изборот на правилниот режим е најважната одлука, а погрешниот избор е класичен извор на грешки.

Режимот дел од URL работи како encodeURIComponent во JavaScript. Ги кодира сите резервирани знаци, па резултатот безбедно може да се стави во еден дел од URL. Користете го за вредности на параметри, сегменти од патека или што и да впишал корисник. На пример, пребарувањето rock & roll станува rock%20%26%20roll. Ако не го кодирате &, серверот би го прочитал roll како почеток на нов параметар.

Режимот цел URL работи како encodeURI. Претпоставува дека внесот е веќе комплетна адреса и ги зачувува знаците што ѝ даваат структура, како : / ? # & и =, додека ги кодира празните места и не-ASCII знаците. Користете го за да уредите адреса како https://example.com/café menu?q=tea во https://example.com/caf%C3%A9%20menu?q=tea. Не го користете за поединечни вредности: & внатре во вредност би останал некодиран и би ја скршил низата на барање.

Добро правило: градете URL од делови, кодирајте ја секоја вредност во режим дел од URL, а режимот цел URL користете го само за адреси што ги добивате веќе составени.

Знакот + и кодирањето на формулари

HTML формуларите испратени со application/x-www-form-urlencoded ги кодираат празните места како + наместо %20. Затоа URL на пребарување често изгледаат како ?q=hello+world. Стандардното процентно декодирање го остава + непроменет, бидејќи во патека плусот е само плус. Кога декодирате низа на барање или податоци од формулар, вклучете Третирај го + како празно место за да добиете hello world. Оставете го исклучено за патеки и за вредности каде буквалниот + е важен, како телефонски броеви или Base64 податоци. Вистински знак плус во податоци од формулар се испраќа како %2B, па се декодира правилно во двата случаи.

Приватност

Кодирањето и декодирањето се извршуваат целосно во вашиот прелистувач. Ништо што го залепувате, вклучувајќи URL што можат да содржат токени, ID на сесии или лични податоци, не се испраќа на сервер ниту се чува.

Често поставувани прашања

Зошто декодирањето не успева со грешка „неисправно“?

Знакот % мора да биде проследен со точно две хексадецимални цифри, а добиените бајти мора да формираат важечки UTF-8. Низи како 100%, %G1 или скратена низа како %E2%82 не може сигурно да се декодираат, па алатката го пријавува проблемот наместо да создаде погрешен текст. За да вклучите буквален знак процент, кодирајте го како %25.

Која е разликата меѓу %20 и +?

И двата можат да претставуваат празно место, но во различен контекст. %20 е важечки насекаде во URL. + значи празно место само во низи на барање кодирани како формулар; на други места е буквален знак плус.

Дали треба да кодирам цел URL во режим дел од URL?

Само ако целиот URL е вредност внатре во друг URL, на пример параметар redirect=. Во тој случај режимот дел од URL е точно соодветен: https://a.com/?x=1 станува https%3A%2F%2Fa.com%2F%3Fx%3D1.

Зошто мојот текст е кодиран двапати?

Двојно кодирање се случува кога веќе кодиран текст се кодира повторно, па %20 станува %2520. Декодирајте еднаш за да проверите и погрижете се секоја вредност да се кодира само во моментот кога се вметнува во URL.

Дали URL кодирањето ги крие или штити податоците?

Не. Процентното кодирање е целосно повратно и не дава безбедност. Чувствителните вредности во URL може да завршат во историјата на прелистувачот и во логовите на серверот, па избегнувајте да ставате тајни во URL.