URL Kodlama ve Çözme

URL kodlama, güvenli olmayan karakterleri yüzde işareti ve iki onaltılık rakamla değiştirir. Boşluk %20, "ş" ise %C5%9F olur. %C5%9F çözülünce yine ş elde edilir.

Sorununuz çözüldü mü?
Google'da tercih et

Nasıl kullanılır

  1. Kodla ya da Çöz'ü seçin, sonra metni giriş kutusuna yazın veya yapıştırın.
  2. Arama terimi gibi tek bir değeri kodlamak için Bileşen'i seçin. Bir adresin tamamını kodlarken : / ? & = # gibi karakterleri olduğu gibi bırakmak için Tam URL'yi seçin.
  3. Metin, HTML formlarındaki gibi boşluk yerine + kullanıyorsa artı seçeneğini işaretleyin. Sonuç siz yazdıkça güncellenir.
  4. Giriş bir URL ya da sorgu dizesiyse, sonucun altındaki tablo her parametreyi çözülmüş anahtar ve değeriyle listeler. Çıktıyı almak için Kopyala'ya, sonucu ters yönde bir tur daha işlemek için Girişe aktar'a basın.

Nasıl hesaplanır

Yüzde kodlama, güvenli olmayan her karakteri UTF-8 baytlarına çevirir ve her baytı yüzde işareti ile iki onaltılık rakam olarak yazar. ğ harfi C4 9F baytlarından oluşur, bu yüzden %C4%9F olur. Bir emoji dört bayt tutar ve dört %XX grubuna dönüşür.

Bileşen modu encodeURIComponent kullanır. Yalnızca harfleri, rakamları ve - _ . ! ~ * ' ( ) karakterlerini bırakır; / ? & = : ve # dahil gerisini kodlar. URL içindeki tek bir değer için kullanılır. Tam URL modu encodeURI kullanır ve URL'nin yapısını oluşturan karakterleri (; , / ? : @ & = + $ #) de korur, yani bütün bir adres içindir.

Çözme bunun tersidir. Metinde ardından iki onaltılık rakam gelmeyen bir % varsa ya da baytlar geçerli UTF-8 oluşturmuyorsa tarayıcı çözmeyi reddeder ve araç bir hata gösterir. Sorgu tablosunda o kısım yazıldığı gibi kalır ve kırmızıyla işaretlenir; böylece tek bir bozuk değer diğerlerini gizlemez.

Artı işareti yalnızca form verisinde (application/x-www-form-urlencoded) ve çoğu sorgu dizesinde boşluk anlamına gelir. Yol içinde + düz bir artıdır. Sorgu tablosu + işaretini her zaman boşluk olarak okur, ana çözücü ise yalnızca seçenek işaretliyse böyle yapar.

Sık kullanılan karakterler

KarakterKodlanmışNot
Boşluk%20 (veya +)+ yalnızca sorgu dizesinde
&%26Parametreleri ayırır, değer içinde kodlayın
=%3DAnahtarı değerden ayırır
?%3FSorgu dizesini başlatır
#%23Parçayı (fragment) başlatır
/%2FYol ayırıcı
%%25Kaçış karakterinin kendisi
+%2BGerçek artı işareti kodlanmalı

Sık sorulan sorular

encodeURI ile encodeURIComponent arasındaki fark nedir?

encodeURIComponent, URL bölümlerini ayıran karakterleri (/ ? & = : #) da kodlar; bu yüzden tek bir değer için güvenlidir. encodeURI bunlara dokunmaz, böylece adresin tamamını yapısını bozmadan kodlayabilir.

Boşluk neden bazen %20, bazen + oluyor?

%20 boşluğun standart kodlamasıdır ve her yerde çalışır. Artı işareti formlardan kalma eski yazımdır ve yalnızca sorgu dizelerinde geçerlidir. Artı seçeneği kodlarken %20 yerine + yazar.

Çözerken neden hatalı biçim uyarısı alıyorum?

Metinde tek başına bir %, ardından onaltılık olmayan karakter gelen bir % ya da tek başına %C4 gibi geçerli UTF-8 olmayan baytlar var. Bozuk kısmı düzeltin veya silin. Sorgu tablosu kalan parametreleri yine gösterir.

Türkçe karakterler ve emojiler çalışıyor mu?

Evet. Metin önce UTF-8'e çevrilir; ç, ğ, ı, ö, ş, ü ve emojiler kodlanıp çözüldüğünde aynen geri gelir.

URL'im sunucuya gönderiliyor mu?

Hayır. Her şey tarayıcınızda çalışır. Token ya da kişisel veri içeren bağlantılar cihazınızdan çıkmaz.