İçeriğe geç
gelistiriciaraclari

URL Encode Aracı

Metninizi yazın, URL'ye uygun yüzde kodlamasını anında görün; sorgu değeri veya tam URL moduyla doğru kodlamayı seçin.

~/kod/url-encodetarayıcıda çalışır

encodeURIComponent: harf, rakam ve - _ . ! ~ * ' ( ) dışındaki her şey UTF-8 baytları olarak %XX yapılır (ş → %C5%9F).

Kodlanmış
Kodlanmış çıktı burada görünecek.

Verileriniz tarayıcınızda işlenir ve sunucuya gönderilmez.

Nasıl kullanılır?

  1. 01Kodlamak istediğiniz metni veya URL'yi kutuya yazın, sonuç canlı güncellenir.
  2. 02"Bileşen" modunu (encodeURIComponent, sorgu değerleri için) veya "tam URL" modunu (encodeURI, /, ?, :, &, = korunur) seçin.
  3. 03Bir form gönderimi taklit edecekseniz "boşluğu + yap" seçeneğini işaretleyin.
  4. 04Kopyala ile sonucu alıp URL'nize veya API isteğinize ekleyin.

URL Encode aracı hakkında

## Bileşen mi, tam URL mü?

RFC 3986'ya göre bir URL'de yalnızca belirli karakterler ayraç (reserved) olarak kullanılabilir; bunların dışındaki her şey yüzde kodlamasıyla (%XX) temsil edilir. "Bileşen" modu JavaScript'in encodeURIComponent davranışını izler ve /, ?, &, = dahil neredeyse her özel karakteri kodlar — bir sorgu parametresinin değerini oluştururken doğru seçim budur, aksi halde değerin içindeki bir & işareti URL'yi bölebilir. "Tam URL" modu (encodeURI) ise /, ?, :, &, = gibi URL'nin yapısını oluşturan karakterleri olduğu gibi bırakır; zaten tam bir URL'yi (yol ve sorgu dahil) kodlamak isterseniz kullanılır.

Kodlama UTF-8 bayt dizisi üzerinden çalışır, bu yüzden ş, ğ, ü, ö, ç, ı gibi Türkçe karakterler çok baytlı yüzde dizilerine döner — örneğin ş, %C5%9F olur, çünkü bu harf UTF-8'de iki bayt tutar. "boşluğu + yap" seçeneği işaretlendiğinde boşluk %20 yerine + ile kodlanır; bu, application/x-www-form-urlencoded biçimini (klasik HTML form gönderimi) taklit eder ve bazı eski API'lerin veya form işleyicilerin beklediği format tam olarak budur.

## Ne zaman hangi mod?

Bir sorgu string'i elle oluşturuyorsanız (örn. ?q=<değer>) her zaman "bileşen" modunu kullanın; değerin içinde & veya = geçse bile URL bozulmaz, çünkü bu karakterler de kodlanır. Zaten hazır bir URL'yi (query parametreleriyle birlikte) yeniden kodlamanız gerekiyorsa "tam URL" modu yapıyı korur ve yalnızca yapı dışındaki karakterleri kodlayarak URL'nin tarayıcıda ve sunucuda aynı şekilde çalışır durumda kalmasını sağlar.

Kodladığınız sonucu geri çözmek için URL Decode sayfasını kullanabilirsiniz. URL yerine ikili bir veriyi taşımanız gerekiyorsa Base64 Encode daha kompakt bir alternatiftir; bir HTML sayfasına yerleştirilecek metin için ise yüzde kodlaması yerine HTML Encode / Decode kullanılır, çünkü hedef bağlam URL değil HTML'dir. Bir yönlendirme zincirindeki hedef URL'lerin doğru kodlanıp kodlanmadığını kontrol etmek için Redirect Kontrol sayfasına bakabilirsiniz.

Sıkça sorulan sorular

encodeURIComponent ile encodeURI arasındaki fark nedir?

encodeURIComponent (bileşen modu) /, ?, &, = dahil neredeyse tüm özel karakterleri kodlar; encodeURI (tam URL modu) bunları URL yapısının parçası sayıp olduğu gibi bırakır.

ş harfi neden %C5%9F oluyor?

Kodlama UTF-8 bayt dizisi üzerinden yapılır; ş karakteri UTF-8'de iki baytla temsil edildiği için iki yüzde grubuna (%C5%9F) dönüşür.

Boşluk neden bazen %20 bazen + oluyor?

Varsayılan olarak boşluk %20 ile kodlanır; "boşluğu + yap" seçeneği açıldığında application/x-www-form-urlencoded biçimine uygun şekilde + kullanılır.

Bir sorgu parametresi değerini kodlarken hangi modu seçmeliyim?

Bileşen (encodeURIComponent) modunu seçin; aksi halde değerin içindeki & veya = işareti sorgu string'inin yapısını bozabilir.

Zaten kodlanmış bir URL'yi tekrar kodlarsam ne olur?

% işareti de kodlanacağından %20 gibi diziler %2520 haline gelir (çift kodlama); tekrar kodlamadan önce mevcut durumu kontrol etmeniz önerilir.

İlgili araçlar