CodeKitHub
Türkçe
Kodlama Araçları

Çevrimiçi URL Kodlayıcı / Kod Çözücü

URL’lerde güvenli kullanım için metni yüzde kodlamaya dönüştürün veya kodlanmış bir URL’yi tekrar okunabilir biçime geri dönüştürün. Bileşen modunu (sorgu parametre değerleri için her şeyi kodlar) veya tam URL modunu (:// ? & yapısını olduğu gibi korur) seçin. Tamamen tarayıcınızda çalışır.

Bu Araç Nedir?

URL kodlaması (yüzde kodlaması), URL’lerde kullanılmasına izin verilmeyen karakterleri, % işaretinin ardından onaltılık sistemdeki bayt değerleriyle değiştirir — bir boşluk %20 olur ve 你 ise %E4%BD%A0 olur. Bu kodlama yapılmazsa, boşluk, &, ? gibi karakterler ve ASCII dışı metinler URL yapısını bozar veya sunucular tarafından yanlış yorumlanır.

İki yaygın ihtiyaç vardır ve bu araç her ikisini de destekler: sorgu parametresinin içine girecek bir değeri kodlamak (bileşen modu — /, ? ve = karakterlerini de kodlar) ve yapısını koruyarak bir URL’nin tamamını kodlamak (tam URL modu — ://, ? ve & karakterlerini olduğu gibi bırakır).

Neden Kullanmalısınız?

  • Sorgu dizelerini güvenli bir şekilde oluşturun — &, = veya boşluk içeren kullanıcı girdileri URL’nizi bozmaz.
  • Günlük dosyalarından, analiz verilerinden veya yönlendirme zincirlerinden alınan uzun kodlanmış URL’leri çözerek, bunların gerçekte ne anlama geldiğini görün.
  • Çince, emoji ve diğer ASCII dışı metinler için doğru UTF-8 işleme.
  • İki mod sayesinde, bir URL'nin tamamındaki : ve / karakterlerini yanlışlıkla kodlamazsınız.
  • Ücretsiz, anında, dosya yüklemeye gerek yok.

Nasıl Kullanılır

  1. Metninizi veya URL'nizi giriş kutusuna yapıştırın.
  2. Modu seçin: Sorgu parametrelerine eklenecek değerler için "Bileşen", tam URL'ler için "Tam URL".
  3. "Kodla" veya "Kodunu Çöz" seçeneğine tıklayın.
  4. Sonucu kopyalayın.

Örnek

Giriş

https://example.com/search?q=hello world & 你好

Çıkış

Component mode: https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%20%26%20%E4%BD%A0%E5%A5%BD
Full URL mode:  https://example.com/search?q=hello%20world%20&%20%E4%BD%A0%E5%A5%BD

Bileşen modu, yapı karakterlerini de kodlar; tam URL modu ise bunları korur.

Yaygın kullanım örnekleri

  • Kullanıcı girdisinden gelen ve boşluk, & veya diğer özel karakterler içerebilen bir arama terimi ya da filtre değerini içeren, paylaşılabilir bir URL oluşturmak.
  • Bir e-posta veya reklam kampanyasındaki uzun bir izleme veya yönlendirme URL’sini, tıklamadan önce gerçek hedef adresini ve parametrelerini görmek için çözümlemek.
  • Bir sorgu parametresinin sunucu tarafından neden doğru şekilde okunmadığını araştırmak — çoğu zaman sorunun kaynağı, kodlanması gereken ancak kodlanmamış bir ayrılmış karakterdir.
  • URL sorgu dizesinde kullanılmak üzere İngilizce dışındaki (Çince, Japonca, Arapça vb.) bir değerin hazırlanması.

encodeURIComponent ile encodeURI’nin pratikteki farkı

Bunlar, bu aracın iki moduyla doğrudan eşleşir ve geliştiricilerin zaten bildiği gerçek JavaScript işlevlerine karşılık gelir: encodeURIComponent (bileşen modu), ayrılmamış küçük bir karakter kümesi hariç her şeyi kodlar; böylece URL'ye eklenecek herhangi bir tekil değer için güvenli hale getirir — sorgu parametresi, yol bölümü veya hash parçası değeri için bunu kullanırsınız. encodeURI (tam URL modu), URL'nin yapısal karakterlerini (:, /, ?, #, &, =) dokunulmaz bırakır; çünkü ham bir değer değil, halihazırda yapılandırılmış bir URL'nin tamamını kodladığınızı varsayar — bunu tek bir parametre değeri üzerinde kullanmak, o değerin içerebileceği & veya = karakterlerini kodlamayı başaramaz; bu da yanlış modu seçerken insanların yaptığı en yaygın hatadır.

Rezervli ve rezervsiz karakterler

URL spesifikasyonu (RFC 3986), karakterleri iki gruba ayırır: ayrılmamış karakterler (harfler, rakamlar, - _ . ~) her zaman güvenlidir ve asla kodlanmazken, ayrılmış karakterler (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) URL yapısında özel bir anlam taşır ve yalnızca yapısal noktalama işareti olarak değil, gerçek veri olarak göründüklerinde kodlanmaları gerekir. İşte bu yüzden bu iki mod mevcuttur — bileşen modu, ayrılmış karakterleri korunması gereken veriler olarak ele alırken, tam URL modu ise bunları korunması gereken yapı unsurları olarak ele alır. Bu ayrımı anlamak, hangi modun ne zaman kullanılacağını ezberlemekten daha yararlıdır; çünkü bu, aynı karakterin (örneğin &) belirli bir URL’de üstlendiği role bağlı olarak neden bazen kodlandığını, bazen de olduğu gibi bırakıldığını açıklar.

Sıkça Sorulan Sorular

Ne zaman bileşen modunu, ne zaman tam URL modunu kullanmalıyım?

Sorgu parametresinin içine yerleştirilecek tek bir değeri kodlarken bileşen modu (encodeURIComponent) kullanılır — bu mod, /, ?, & ve = karakterlerini kodlayarak bunların URL’yi bozmasını engeller. Tam bir URL’yi kodlarken tam URL modu (encodeURI) kullanılır — bu mod, yapısal karakterleri koruyarak URL’nin çalışır durumda kalmasını sağlar.

Boşluklar için neden + yerine %20 yazıldı?

Her ikisi de farklı bağlamlarda geçerlidir. %20, boşluk karakteri için evrensel yüzde kodlamasıdır; + işareti ise yalnızca eski application/x-www-form-urlencoded biçimini kullanan sorgu dizeleri içinde boşluk anlamına gelir. Bu araç, her yerde çalışan %20 kodlamasını kullanır.

Neden kod çözme işlemi bir hata ile başarısız oluyor?

Giriş verisinde, % işaretinin ardından iki onaltılık rakam gelmeyen gibi, biçim hatası içeren bir yüzde dizisi bulunmaktadır. Bu durum genellikle bir URL'nin kesilmesi veya iki kez kodunun çözülmesi durumunda ortaya çıkar. Hatalı yüzde dizisini düzeltin veya kaldırın.

Çift kodlama nedir?

Zaten kodlanmış metni kodlama: %20, %2520 olur çünkü % karakteri %25 olarak kodlanmıştır. Bu sık karşılaşılan bir hatadır — kod çözülmüş çıktınızda hâlâ % kodları varsa, bir kez daha kodunu çözün.

Bu, Çince karakterleri ve emojileri destekliyor mu?

Evet. Metin, UTF-8 baytları olarak kodlanır; bu nedenle “你好” ifadesi %E4%BD%A0%E5%A5%BD şeklinde kodlanır ve geri kod çözme işlemi de kusursuz bir şekilde gerçekleşir — tıpkı tarayıcıların uyguladığı gibi.

İlgili Araçlar