Dil seç

URL Kod Çözücü (Yüzde Çözme)

Yüzde kodlu URL'leri okunur metne çevirin. Çok baytlı UTF-8 dizilerini doğru birleştirir, artı işaretini isteğe bağlı boşluk sayar, hatalı dizide uyarır.

Mehmet Demiray Yayınlandı Güncellendi
Paylaş
Bileşen ayrılmış karakterleri kodlar; tam olan URL yapısını korur

Kodlanmış URL'leri Okunabilir Hale Getirmek

Bir tarayıcının adres çubuğunda ya da bir sunucu kaydında karşınıza %20, %3D, %C3%A7 gibi diziler çıktığında, aslında yüzde işaretiyle kodlanmış bir metne bakıyorsunuz demektir. Adres satırları yalnızca sınırlı bir karakter kümesini güvenle taşıyabilir. Boşluk, Türkçe harfler, soru işareti ya da eşittir gibi karakterler bağlantı içinde özel anlam taşıdığından, ham hâlleriyle gönderilmezler. Bunun yerine her biri bir yüzde işareti ve iki basamaklı bir onaltılık sayıya dönüştürülür.

URL Kod Çözücü bu süreci tersine çevirir. Kodlanmış metni yapıştırdığınızda %20 dizisini boşluğa, %3D dizisini eşittir işaretine, %C3%A7 dizisini ise ç harfine dönüştürür. Böylece bir sorgu dizesinin ya da kaydedilmiş bağlantının gerçekte ne söylediğini rahatça okursunuz.

Örneğin bir arama bağlantısında şu parçayı görebilirsiniz:

arama?q=k%C4%B1rm%C4%B1z%C4%B1%20elma

Çözüldüğünde bunun aslında kırmızı elma araması olduğu ortaya çıkar. Kodlama olmadan bu ifade tarayıcıdan sunucuya güvenle taşınamazdı.

Günlük analizinden hata ayıklamaya, pazarlama bağlantılarını denetlemekten API isteklerini incelemeye kadar pek çok işte kodlanmış diziler karşınıza çıkar. Ters yönde çalışan bir işlem için URL kodlama aracı metni yeniden güvenli hâle getirir. Bu iki aracı birlikte kullanmak, bir bağlantının hem ham hem de okunabilir hâlini karşılaştırmanızı kolaylaştırır.

Yüzde Kodlaması Nereden Gelir

Yüzde kodlaması gökten inmez; belirli bir kuralın, RFC 3986 standardının sonucudur. Bu standart bir bağlantının hangi karakterlerden oluşabileceğini tanımlar. İzin verilen küme oldukça dardır: İngiliz alfabesinin harfleri, rakamlar ve birkaç işaret. Bunun dışında kalan her karakter taşınmadan önce kodlanır.

Kodlanmasının iki temel nedeni vardır. Birincisi, bazı karakterler bağlantı içinde yapısal anlam taşır. Soru işareti sorgu bölümünü başlatır, eşittir işareti bir anahtarı değeriyle eşler, ve işareti (&) ise parametreleri birbirinden ayırır. Bu karakterler bir değerin içinde geçmesi gerektiğinde, yapıyı bozmamak için kodlanırlar.

İkinci neden ise güvenli aktarımdır. Boşluk, Türkçe harfler, virgül ya da yüzde işaretinin kendisi doğrudan gönderildiğinde farklı sistemler bunları farklı yorumlayabilir. Kodlama, karakteri baytlarına ayırıp her baytı % ve iki onaltılık basamakla temsil ederek bu belirsizliği ortadan kaldırır.

Sık karşılaşılan dizilerden bazıları şöyledir:

Dizi Karşılığı
%20 boşluk
%3D =
%26 &
%3F ?
%2F /

Bir karakterin neden kodlandığını anlamak, çözülmüş sonucu yorumlamayı da kolaylaştırır. URL Kod Çözücü bu dizileri tanır ve her birini olması gereken karaktere geri döndürür, böylece bağlantının asıl içeriğini görürsünüz.

Onaltılık Çiftlerden UTF-8 Metnine

Kod çözmenin kalbinde basit bir kural yatar: her % işaretinden sonra gelen iki karakter, onaltılık bir sayıdır ve tek bir baytı temsil eder. Örneğin %41 dizisi 65 sayısına, o da A harfine karşılık gelir. Araç bu çiftleri okur, bayta çevirir ve sonucu metne dönüştürür.

İşin ilginç yanı Türkçe harflerde ortaya çıkar. ç, ş, ğ, ü, ö, ı gibi harfler UTF-8 kodlamasında tek bir bayta sığmaz; iki bayta yayılırlar. Bu yüzden kodlanmış hâllerinde arka arkaya iki yüzde dizisi görürsünüz.

Birkaç örnek şu tabloda:

Harf Kodlanmış hâl
ç %C3%A7
ş %C5%9F
ğ %C4%9F
ü %C3%BC
İ %C4%B0

Araç bu çok baytlı dizileri tek tek çözmez; önce tüm baytları toplar, sonra UTF-8 kurallarına göre yeniden birleştirip doğru harfi üretir. %C3%A7 dizisini gördüğünde iki ayrı bozuk karakter yerine tek bir ç verir.

Bu davranış, Türkçe içerik taşıyan bağlantılarda kritik önemdedir. Bir arama sorgusu ya da kategori adı Türkçe harfler içeriyorsa, doğru kod çözme olmadan metin anlamsız işaretlere dönüşür. URL Kod Çözücü çok baytlı dizileri doğru birleştirdiği için %C4%B0stanbul%20%C3%9Cmraniye gibi bir parçayı bile İstanbul Ümraniye metnine çevirir. Baytların nasıl paketlendiğini merak ediyorsanız, Base64 çözme aracı farklı bir kodlama biçimini incelemek için iyi bir başlangıçtır.

Artı İşaretinin İkili Anlamı

Kod çözmede en çok kafa karıştıran ayrıntı artı işaretidir. Aynı + karakteri iki farklı anlama gelebilir ve hangisinin geçerli olduğu, bağlantının nereden geldiğine bağlıdır.

Klasik URL kodlamasında boşluk %20 ile gösterilir ve artı işareti gerçek bir artıdır. Ama HTML form gönderimlerinde eski bir gelenek vardır: sorgu dizesindeki boşluklar %20 yerine + ile kodlanır. Bu biçime application/x-www-form-urlencoded denir ve bugün hâlâ yaygın olarak kullanılır.

Sorun şu: elinizdeki + işaretinin gerçek bir artı mı yoksa gizlenmiş bir boşluk mu olduğunu metnin kendisinden anlayamazsınız. Bu yüzden URL Kod Çözücü size bir seçenek sunar. Artıyı boşluk olarak çöz seçeneğini açtığınızda her + bir boşluğa dönüşür; kapalı bıraktığınızda ise artı işareti olduğu gibi korunur.

Doğru seçimi bağlantının kaynağı belirler:

  • Bir form gönderimi ya da arama kutusundan gelen sorgu dizesi ise seçeneği açın.
  • Matematiksel bir ifade, imzalı bir belirteç ya da artının anlamlı olduğu bir değer ise kapalı bırakın.

Örneğin ad=Ali+Veli parçasında seçenek açıkken sonuç Ali Veli olur. Kapalıyken Ali+Veli kalır. Yanlış seçim, 2+2 gibi bir değeri sessizce 2 2 yapabileceğinden, bağlantının bağlamını bilmek önemlidir.

Sorgu Dizelerini ve Kayıtları Çözmek

Kod çözmenin en pratik faydası, günlük iş akışlarında karşınıza çıkan karmaşık bağlantıları anlamlandırmaktır. Birkaç somut durum bu aracın ne kadar zaman kazandırdığını gösterir.

Yönlendirme hatalarını ayıklama. Bir bağlantı beklenmedik bir sayfaya gidiyorsa, sıklıkla sorun sorgu dizesindeki kodlanmış bir redirect parametresindedir. Parametrenin değerini çözdüğünüzde, kullanıcının aslında nereye yönlendirildiğini net görürsünüz.

Pazarlama bağlantılarını denetleme. Kampanya bağlantıları utm_source, utm_campaign gibi parametreler taşır. Bu değerler Türkçe karakter ya da boşluk içerdiğinde kodlanır. Bir denetim sırasında utm_campaign=yaz%20indirimi%20%C3%A7ad%C4%B1r gibi bir değeri çözmek, kampanyanın gerçek adını gösterir ve raporlardaki tutarsızlıkları yakalar.

Günlük analizi. Sunucu kayıtları istenen adresleri kodlanmış hâlde saklar. Yüzlerce satır arasında bir hatayı ararken, ilgili adresi çözmek onu okunabilir kılar ve hangi isteğin sorun çıkardığını anlamanızı hızlandırır.

Çözülmüş bir bağlantı bir belirteç içeriyorsa iş burada bitmeyebilir. Bir bağlantıda ya da başlıkta eyJ ile başlayan uzun bir dize görürseniz, bu büyük olasılıkla bir oturum belirtecidir; içeriğini görmek için JWT çözme aracı işinizi görür. Araç kopyalama ve indirme düğmeleri sunduğu için, çözülmüş metni doğrudan bir rapora ya da hata kaydına aktarabilirsiniz.

Bozuk Diziler ve Hata Durumları

Her kodlanmış metin geçerli değildir. Bazen elinize eksik ya da hatalı bir dizi geçer ve bu durumda kod çözücünün nasıl davrandığını bilmek önemlidir.

Geçerli bir yüzde dizisi tam olarak üç karakterden oluşur: bir % işareti ve ardından iki onaltılık basamak. Onaltılık basamaklar 0 ile 9 arası rakamlar ve A ile F arası harflerdir. Bu kurala uymayan diziler bozuk sayılır.

En sık görülen üç hata şöyledir:

  1. Geçersiz basamak. %ZZ gibi bir dizide Z bir onaltılık basamak değildir, bu yüzden dizi çözülemez.
  2. Eksik basamak. Metnin sonundaki tek başına bir % ya da %A gibi yarım kalmış bir dizi tamamlanamaz.
  3. Yanlış birleştirme. Çok baytlı bir UTF-8 dizisi eksik ya da sırasız geldiğinde, ortaya geçerli bir harf çıkmaz.

URL Kod Çözücü böyle bir dizi gördüğünde sessizce yanlış bir sonuç üretmek yerine açık bir hata mesajı verir. Bu davranış bilinçli bir tercihtir: hatalı bir çözümün fark edilmeden bir rapora ya da koda sızması, net bir uyarıdan çok daha maliyetlidir.

Bir hata mesajı aldığınızda önce metnin tam kopyalanıp kopyalanmadığını kontrol edin. Çoğu zaman sorun, bağlantının bir yerden kesilerek eksik alınmasıdır. Metnin bütününü yapıştırdığınızda dizi genellikle sorunsuz çözülür.

En çok yanıtladıklarımız.

URL adreslerinde neden %20 ve %3D gibi diziler görüyorum?

Çünkü bağlantılar boşluk ya da eşittir işareti gibi bazı karakterleri doğrudan taşıyamaz. Bu karakterler yerine güvenli bir temsil kullanılır: boşluk %20, eşittir işareti ise %3D olur. URL Kod Çözücü bu dizileri gördüğünde onları asıl karakterlerine geri döndürür, böylece bağlantının gerçek içeriğini okursunuz.

Uzun bir sorgu dizesini nasıl çözerim?

Sorgu dizesinin tamamını, yani ? işaretinden sonra gelen kısmı olduğu gibi kopyalayıp araca yapıştırmanız yeterli. Aracın parametreleri tek tek ayırmanıza gerek yoktur; metnin bütününü bir kerede çözer. Sonucu daha rahat incelemek için kopyalama düğmesiyle bir metin düzenleyiciye aktarabilir ya da indirme düğmesiyle kaydedebilirsiniz.

Artıyı boşluk olarak çöz seçeneğini ne zaman açmalıyım?

Bu seçeneği yalnızca metin bir HTML form gönderiminden ya da bir arama kutusundan geliyorsa açın; çünkü bu biçimde boşluklar + ile kodlanır. Bir imzalı belirteç, matematiksel ifade ya da artının gerçekten artı anlamına geldiği bir değerle çalışıyorsanız seçeneği kapalı bırakın. Yanlış seçim, 2+2 gibi bir değeri sessizce 2 2 yapabilir.

%ZZ gibi geçersiz bir dizi ne sonuç verir?

Z bir onaltılık basamak olmadığından %ZZ geçerli bir dizi değildir ve çözülemez. URL Kod Çözücü böyle bir durumda yanlış bir sonuç üretmek yerine açık bir hata mesajı gösterir. Genellikle sorun, bağlantının bir yerden eksik kopyalanmasından kaynaklanır; metnin tamamını yeniden yapıştırdığınızda çözüm çoğu zaman düzelir.

Kod çözme işlemi kodlamanın tam tersi mi?

Evet, ikisi birbirinin karşıtıdır. Kodlama okunabilir metni güvenli dizilere çevirir, kod çözme ise bu dizileri tekrar okunabilir metne döndürür. Bir metni önce güvenli hâle getirmek istediğinizde URL kodlama aracı doğru yöndür. İki aracı birlikte kullanarak bir değerin ham ve çözülmüş hâllerini karşılaştırabilirsiniz.

Türkçe karakterler içeren bağlantıları doğru çözer mi?

Evet. ç, ş, ğ, ü, ö, ı gibi harfler UTF-8 kodlamasında iki bayta yayılır ve arka arkaya iki yüzde dizisiyle temsil edilir. Araç bu baytları önce toplar, sonra doğru harfe birleştirir. Böylece %C3%A7 dizisi bozuk işaretler yerine tek bir ç harfine dönüşür.

Girdiğim metin araçtan başka bir sunucuya gönderiliyor mu?

Kod çözme işlemi tamamen tarayıcınızda çalışan basit bir metin dönüşümüdür; karmaşık bir sunucu işlemi gerektirmez. Yine de yalnızca ihtiyaç duyduğunuz kadar metni yapıştırmak iyi bir alışkanlıktır. Bir bağlantı oturum belirteci gibi hassas veriler taşıyorsa, çözülmüş sonucu paylaşırken bu değerleri temizlemeye dikkat edin.

Bir bağlantının içinde uzun ve şifreli görünen bir dize çıktı, bu nedir?

Çözülmüş bir bağlantıda noktalarla ayrılmış, eyJ ile başlayan uzun bir dize görürseniz, bu büyük olasılıkla bir oturum belirtecidir. URL kod çözme bu belirtecin yalnızca dış paketini okunabilir kılar; içindeki bilgiyi görmek için JWT çözme aracı daha uygundur. Farklı bir kodlama biçimiyle karşılaşırsanız Base64 çözme aracı işinize yarayabilir.