Ana içeriğe geç

URL için kodlanmış bir metnin kodu nasıl çözülür

Kod çözme, yüzde kodlamayı tersine çevirir: her %XX dizisi bir bayta dönüşür ve baytlar UTF-8 metin olarak okunur. Bileşen modu decodeURIComponent() kullandığından sonuç, özgün değerin ta kendisidir.

Çözümlü örnek

Çok baytlı UTF-8 dizileri tek bir karaktere dönüşür.

Girdi
caf%C3%A9%20%26%20cr%C3%A8me
Sonuç · decodeURIComponent()
café & crème

%20 boşluk olur, ancak + gerçek bir artı işareti olarak kalır.

Girdi
a+b%20c
Sonuç · decodeURIComponent()
a+b c

Son dizide bir onaltılık rakam eksik olduğundan araç bir hata gösterir.

Girdi
%E0%A4%A
Sonuç · decodeURIComponent()
Geçersiz kodlanmış URL

Eksik rakam eklendiğinde üç bayt tek bir Devanagari harfine çözülür.

Girdi
%E0%A4%A4
Sonuç · decodeURIComponent()
त

Araç bunu nasıl işler

  • Her %XX dizisi bir bayttır; ardışık baytlar birlikte UTF-8 olarak çözülür, bu yüzden %C3%A9 é olur.
  • Artı işareti boşluk sayılmaz: + yine + olarak kalır. Metin bir HTML formundan geldiyse kod çözmeden önce + işaretini %20 ile değiştirin.
  • Herhangi bir dizi eksikse veya geçerli UTF-8 değilse girdinin tamamı hatayla reddedilir; hiçbir kısım yarım çözülmez.
  • Tam URL modu (decodeURI), %26, %2F ve %3F gibi ayrılmış karakter kaçışlarını kodlu bırakır; böylece URL'nin yapısı değişmez.

URL kodlama kılavuzları