klcnetwork.com'u Ziyaret Et

URL Kodlayıcı / Çözücü

URL'lerdeki özel karakterleri güvenli bir şekilde kodlayın veya kodlanmış URL'leri orijinal haline çevirin.

encodeURIComponent: Tüm özel karakterleri kodlar. URL parametreleri için idealdir. : / ? # [ ] @ ! $ & ' ( ) * + , ; = dahil tüm özel karakterler encode edilir.

Özel Karakter Referans Tablosu

Karakter Kodlanmış Hali Açıklama encodeURI encodeURIComponent

URL Kodlama (URL Encoding) Nedir?

URL kodlama (percent-encoding veya URL encoding), URL'lerde güvenli bir şekilde kullanılamayan karakterlerin yüzde işareti (%) ve iki haneli onaltılık (hex) bir değerle temsil edilmesi işlemidir. RFC 3986 standardı tarafından tanımlanmıştır. Örneğin, boşluk karakteri %20, Türkçe "ş" harfi %C5%9F olarak kodlanır. Bu kodlama, web tarayıcıları ve sunucular arasında veri iletiminin sorunsuz gerçekleşmesini sağlar.

encodeURIComponent ve encodeURI Arasındaki Fark

encodeURIComponent(): URL'nin bir parçasını (genellikle sorgu parametresi değerini) kodlamak için kullanılır. : / ? # [ ] @ ! $ & ' ( ) * + , ; = dahil tüm özel karakterleri kodlar. Bir kullanıcı girdisini URL parametresi olarak eklerken bu fonksiyon kullanılmalıdır.

encodeURI(): Tam bir URL'yi kodlamak için kullanılır. URL'nin yapısını bozmamak adına : / ? # [ ] @ ! $ & ' ( ) * + , ; = gibi URL yapısal karakterlerini kodlamaz. Sadece boşluk ve URL'de geçersiz olan diğer karakterleri kodlar.

Neden URL Kodlama Gereklidir?

URL'ler yalnızca ASCII karakter setinin bir alt kümesini destekler. Boşluk, Türkçe karakterler (ç, ğ, ı, ö, ş, ü), Çince, Arapça gibi ASCII dışı karakterler ve bazı özel karakterler doğrudan URL'de kullanılamaz. URL kodlama bu karakterleri evrensel olarak anlaşılabilir bir formata dönüştürür. Web uygulamalarında form verilerinin gönderilmesi (application/x-www-form-urlencoded), API çağrıları, yönlendirme URL'leri ve cookie değerleri gibi birçok yerde URL kodlama zorunludur.

Yaygın Kullanım Senaryoları

API çağrıları: REST API'lerine gönderilen sorgu parametrelerindeki özel karakterler kodlanmalıdır. Form gönderimi: HTML formları varsayılan olarak verileri URL-encoded formatında gönderir. Yönlendirme URL'leri: OAuth ve SSO akışlarında redirect_uri parametresinin kodlanması gerekir. E-posta bağlantıları: mailto: linklerinde konu ve gövde alanları URL-encoded olmalıdır.

UTF-8 ve URL Kodlama

Modern web standartlarına göre URL kodlama UTF-8 karakter kodlaması kullanmalıdır. Türkçe "Ş" harfi UTF-8'de 0xC5 0x9E olarak temsil edilir ve URL'de %C5%9E şeklinde kodlanır. Eski sistemlerde Latin-1 (ISO-8859-1) kodlaması kullanılabilir, bu da farklı sonuçlar üretir. Bu nedenle her zaman UTF-8 kullanılması önerilir.

Sıkça Sorulan Sorular

RFC 3986'ya göre boşluk %20 olarak kodlanır. Ancak HTML form verileri application/x-www-form-urlencoded formatında gönderildiğinde boşluk + işareti ile temsil edilir. encodeURIComponent boşluğu %20 olarak, bazı sunucu tarafı dilleri ise + olarak kodlar. Genel kullanımda %20 tercih edilir.
Çift kodlama, zaten kodlanmış bir metnin tekrar kodlanmasıdır. Örneğin %20 ikinci kez kodlandığında %2520 olur. Bu, URL'nin bozulmasına ve güvenlik açıklarına yol açabilir. Bazı saldırganlar WAF (Web Application Firewall) atlatmak için çift kodlama tekniğini kullanır.
Türkçe karakterler (ç, ğ, ı, ö, ş, ü ve büyük harfleri) UTF-8 kodlaması ile percent-encode edilir. Örneğin "ğ" → %C4%9F, "ş" → %C5%9F, "ü" → %C3%BC şeklinde kodlanır. Modern tarayıcılar adres çubuğunda bu kodları otomatik olarak okunabilir karakterlere çevirir, ancak arka planda kodlanmış hali kullanılır.