GELİ?TİRİCİ ARAÇLARI

URL Kodlama ve Çözme (URL Encoder / Decoder)

Sorgu parametresi gibi URL bileşenlerindeki boşluk, Türkçe karakter ve özel işaretleri yüzde kodlamasıyla güvenle kodla ya da çöz.

İşlemler cihazında gerçekleşir. Girdilerin ve dosyaların sunucuya gönderilmez.

URL'ler yalnızca sınırlı bir ASCII karakter kümesiyle yazılabilir. Boşluk, ç, ş, ğ gibi Türkçe harfler ya da &, =, ? ve # gibi özel anlamı olan işaretler bir parametre değerinin içinde geçecekse yüzde kodlamasıyla (percent-encoding) dönüştürülmelidir. Bu URL encode decode aracı, girdiğin metni UTF-8 baytlarına ayırır ve güvenli olmayan her baytı %XX biçimine çevirir; çözme yönünde de bu dizileri okunur metne döndürür. Örneğin merhaba dünya ifadesi merhaba%20d%C3%BCnya olur.

Araç, JavaScript'in encodeURIComponent ve decodeURIComponent davranışını kullanır; yani tam bir adresi değil, tek bir URL bileşenini, örneğin bir sorgu değerini veya yol parçasını işlemek için tasarlanmıştır. Tüm işlem tarayıcında gerçekleşir; girdiğin adresler ve parametreler sunucuya gönderilmez. Bu, oturum kimliği, imzalı bağlantı ya da token içeren URL'leri incelerken önemlidir. Girdi sınırı 1 MiB'dır.

URL Kodlama ve Çözme (URL Encoder / Decoder) nasıl kullanılır?

  1. İşlem listesinden URL bileşenini kodla veya URL bileşenini çöz seçeneğini belirle.
  2. Metnin alanına yalnızca işlemek istediğin parçayı yapıştır; tam adres yerine örneğin sadece arama ifadesini gir.
  3. Form verisi veya arama kutusundan gelen bir sorgu çözüyorsan Çözerken + işaretlerini boşluk olarak yorumla kutusunu işaretle.
  4. Dönüştür düğmesine bas ve Sonuç alanındaki çıktıyı kontrol et.
  5. Sonucu Kopyala ile alıp adresine ekle veya İndir ile metin dosyası olarak kaydet.
ÖRNEK

Örnek: merhaba dünya ? merhaba%20d%C3%BCnya

Hangi karakterler kodlanır? (URL encoded characters)

Kodlama yönünde harfler (A–Z, a–z), rakamlar (0–9) ve - _ . ! ~ * ' ( ) karakterleri olduğu gibi kalır. Bunların dışındaki her karakter UTF-8 baytlarına ayrılır ve her bayt % işaretinden sonra iki onaltılık rakamla yazılır. ASCII karakterler tek bayt, Türkçe harfler iki bayt tuttuğu için ü harfi %C3%BC, ı harfi %C4%B1 olur. Sık görülen örnekler:

  • Boşluk → %20
  • & → %26, = → %3D, ? → %3F, # → %23
  • / → %2F, : → %3A, + → %2B
  • % → %25; bu yüzden zaten kodlanmış %20, ikinci kez kodlanınca %2520 olur.
  • ş → %C5%9F, İ → %C4%B0, ğ → %C4%9F

%20 mi, + mı? Boşluk kodlaması

URL kodlamada %20 nedir sorusunun cevabı basittir: 20, boşluk karakterinin onaltılık ASCII kodudur. Ancak HTML formları application/x-www-form-urlencoded biçiminde gönderildiğinde boşluklar + ile yazılır; bu yüzden adres çubuğunda ara=kitap+okuma gibi sorgular görürsün.

Bu araç kodlarken her zaman %20 üretir; %20 hem yolda hem sorgu dizesinde doğru yorumlanır. Çözerken ise + işareti varsayılan olarak + kalır. Form verisi çözüyorsan ilgili kutuyu işaretleyerek + işaretlerini boşluğa çevirebilirsin. Gerçek bir artı işareti taşımak istediğinde onu %2B olarak kodlamalısın.

Tam URL'yi neden kodlamamalısın?

Araç bileşen düzeyinde çalıştığı için : ve / gibi adresin yapısını oluşturan karakterleri de kodlar. https://ornek.com/ara?q=kitap adresinin tamamını verirsen https%3A%2F%2Fornek.com%2Fara%3Fq%3Dkitap gibi tarayıcının açamayacağı bir dizge alırsın. Doğru yöntem, yalnızca değişken kısmı kodlayıp sabit kısma eklemektir.

Bu yaklaşım, kullanıcı girdisindeki & veya # karakterlerinin parametreyi bölmesini ve beklenmeyen parametre eklenmesini de önler. Türkçe karakterli alan adları ise yüzde kodlamasıyla değil, xn-- ile başlayan Punycode biçimiyle temsil edilir; bu araç alan adı dönüştürmez.

Sık karşılaşılan hatalar

URL çözme sırasında en çok şu sorunlarla karşılaşılır:

  • URL verisi bozuk hatası: % işaretinden sonra iki geçerli onaltılık rakam gelmiyorsa (%G1 veya tek başına % gibi) ya da baytlar geçerli UTF-8 oluşturmuyorsa çözme başarısız olur. Eski sistemlerin ü için ürettiği %FC gibi Latin-1 kodları da bu yüzden çözülemez.
  • Çift kodlama: %2520 görüyorsan metin iki kez kodlanmıştır; çözme işlemini iki kez uygula.
  • Kodlanmamış &: Parametre değerindeki & kodlanmazsa sunucu onu yeni bir parametrenin başlangıcı sanar ve değer yarıda kesilir.

Sıkça sorulan sorular

URL encode nedir?

URL encode, yani yüzde kodlaması, bir adreste doğrudan kullanılamayan karakterleri % işareti ve iki onaltılık rakamla temsil etme yöntemidir. Metin önce UTF-8 baytlarına ayrılır, güvenli olmayan her bayt %XX biçimine çevrilir. Böylece boşluk, Türkçe harf veya & gibi işaretler adresin yapısını bozmadan sunucuya ulaşır.

URL kodlamada %20 ne anlama gelir?

%20, boşluk karakterinin yüzde kodlanmış hâlidir; 20 sayısı boşluğun onaltılık ASCII değeridir. Adreste boşluk doğrudan yazılamadığı için tarayıcılar ve kütüphaneler onu %20 olarak gönderir. Form gönderimlerinde boşluk bazen + ile de temsil edilir. Bu araç kodlarken %20 kullanır, çözerken ise isteğe bağlı olarak + işaretini de boşluğa çevirir.

Türkçe karakterler URL'de nasıl yazılır?

Türkçe karakterler UTF-8'de iki bayt kapladığı için iki yüzde dizisiyle yazılır: ç %C3%A7, ğ %C4%9F, ı %C4%B1, ş %C5%9F olur. Tarayıcı adres çubuğunda bunları okunur biçimde gösterebilir ama arka planda kodlu hâli gönderir. Sayfa adreslerinde ise Türkçe karakterleri kodlamak yerine slug oluşturucu ile Latin harflere çevirmek genellikle daha okunur sonuç verir.

Çözme sırasında + işareti neden boşluğa dönüşmüyor?

Standart yüzde kodlamasında + işareti gerçek bir artı karakteridir; yalnızca HTML form kodlamasında boşluk anlamına gelir. Araç verinin hangi kaynaktan geldiğini bilemeyeceği için varsayılan olarak + işaretine dokunmaz. Bir arama formundan veya form gönderiminden gelen sorgu çözüyorsan Çözerken + işaretlerini boşluk olarak yorumla kutusunu işaretlemelisin.

URL decode yaparken neden hata alıyorum?

Hata genellikle bozuk bir yüzde dizisinden kaynaklanır: % işaretinden sonra iki onaltılık rakam gelmemesi, metnin ortasında kesilmiş bir dizi ya da UTF-8 olmayan baytlar. Eski sistemlerin Latin-1 ile ürettiği %FC veya %E7 gibi kodlar da UTF-8 olarak çözülemez. Metindeki tek başına duran % işaretlerini %25 olarak düzeltip yeniden dene.

Girdiğim URL'ler kaydediliyor mu?

Hayır. Kodlama ve çözme tarayıcında yapılır; girdiğin adresler, parametreler ve sonuçlar Falanca sunucularına gönderilmez ve saklanmaz. Bu, içinde oturum kimliği, imzalı indirme bağlantısı veya erişim token'ı bulunan URL'leri incelerken önemlidir. Yine de bu tür adresleri ekran paylaşımı sırasında açmamaya özen göstermelisin.

Çerez ve reklam tercihleri

Favorilerin ve tema tercihin cihazında saklanır. Araç girdilerin kaydedilmez. Reklamlar yalnızca izin yönetimi entegrasyonu izin verdiğinde yüklenir.

Bu kurulumda reklam izni sağlayan bir CMP bağlı değil; reklam isteği gönderilmez.