Nasıl kullanılır?
- Kodla veya Çöz seçin.
- Tek bir değer (ör. bir sorgu parametresi) için Bileşen, tam bir adres için Tam URL seçin.
- Metninizi yazın veya yapıştırın. Sonuç anında sağda (telefonlarda aşağıda) görünür.
- Sonucu kopyalayın veya işlemi tersine çevirip dönüşümü kontrol etmek için “Çıktıyı girdi olarak kullan” seçeneğini kullanın.
Nasıl çalışır?
URL'ler yalnızca sınırlı sayıda ASCII karakteri içerebilir. Boşluklar, aksanlı harfler ve emojiler dahil diğer tüm karakterler yüzde kaçışlarıyla gösterilir: karakter UTF-8 baytlarına dönüştürülür ve her bayt, ardından iki onaltılık basamak gelen % işaretiyle yazılır. Boşluk %20, é %C3%A9 ve € %E2%82%AC olur.
Bileşen modu, JavaScript'in encodeURIComponent ve decodeURIComponent işlevlerini kullanır. / ? # & = + : ve @ dahil URL'de özel anlamı olan tüm karakterleri kaçırır; böylece sonuç bir sorgu değerinin veya tek bir yol bölümünün içine güvenle yerleştirilebilir. Yalnızca A–Z, a–z, 0–9 ve - _ . ! ~ * ' ( ) karakterlerini olduğu gibi bırakır.
Tam URL modu, encodeURI ve decodeURI işlevlerini kullanır. Girdinin zaten tam bir URL olduğunu varsayar ve ; , / ? : @ & = + $ # ayrılmış karakterlerini değiştirmeden bırakır; böylece adres çalışmaya devam eder. decodeURI, çözme sırasında bu ayrılmış karakterlerin kaçış kodlarını da olduğu gibi bırakır: %2F, %2F olarak kalır; çünkü bunu / karakterine dönüştürmek URL'nin anlamını değiştirir.
Form verisi seçeneği, HTML formları gönderilirken tarayıcıların kullandığı application/x-www-form-urlencoded biçimini izler: boşluk %20 yerine + ile yazılır. Bu seçenekle kod çözülürken her + boşluğa dönüşür; gerçek bir artı işaretinin %2B olarak yazılması gerekir.
Geçersiz girdi hiçbir zaman silinmez. % işaretinin ardından iki onaltılık basamak gelmiyorsa veya kaçış dizileri geçerli UTF-8 oluşturmuyorsa araç sorunun konumunu gösterir ve metninizi düzeltmeniz için korur.
Örnekler
Bir değeri sorgu dizgesine ekleme
https://example.com/search?q=… adresinde “Rock & Roll” aramak için yalnızca değeri Bileşen modunda kodlayın: Rock%20%26%20Roll. Kodlama yapılmazsa & işareti q parametresini sonlandırır ve “ Roll” adlı yeni bir parametre başlatır.
Boşluk ve aksan içeren bir URL'yi düzeltme
Tam URL modunda https://example.com/menu/crème brûlée.html, https://example.com/menu/cr%C3%A8me%20br%C3%BBl%C3%A9e.html olur. Eğik çizgiler ve iki nokta olduğu gibi kalır, böylece bağlantı çalışmaya devam eder.
Günlüğe kaydedilmiş form verilerini okuma
Bir sunucu günlüğünde name=Jane+Doe&city=S%C3%A3o+Paulo yazıyor. Okunabilir hâle getirmek için “+ işaretini boşluk olarak kabul et” seçeneğini açıp Bileşen modunda çözün: name=Jane Doe&city=São Paulo.
Sık sorulan sorular
encodeURI ile encodeURIComponent arasındaki fark nedir?
encodeURIComponent, URL bölümlerini ayıran karakterleri (/ ? # & = + : @ ve diğerlerini) kaçırır; bu nedenle URL'nin tek bir parçası için kullanılır. encodeURI bu karakterleri korur; bu nedenle tam bir URL için kullanılır. Sorgu değerinde encodeURI kullanmak sık rastlanan bir hatadır: değerin içindeki & veya = kaçırılmadığı için sorgu dizgesi bozulur.
Boşluk %20 mi, + mı olmalı?
URL yolundaki boşluk her zaman %20 olur. Sorgu dizgesinde ikisi de kullanılır: %20 her yerde geçerlidir; + ise yalnızca HTML formlarının ve birçok sunucu altyapısının sorgu dizgelerini okurken kullandığı form kodlu veride (application/x-www-form-urlencoded) boşluk anlamına gelir. Emin değilseniz %20 kullanın.
Kod çözerken neden hata alıyorum?
% işaretinin ardından iki onaltılık basamak gelmediğinde (örneğin “50% off”) veya kaçırılmış baytlar geçerli UTF-8 olmadığında kod çözme başarısız olur. İkinci durum genellikle metnin Latin-1 gibi eski bir karakter kümesiyle kodlandığı anlamına gelir (é, %C3%A9 yerine %E9 olarak kodlanmış olabilir). Hata mesajı sorunun konumunu gösterir.
Tam URL modunda %2F neden eğik çizgiye dönüşmedi?
decodeURI, / ? # & ve = gibi ayrılmış karakterlerin kaçış kodlarını bilerek korur; çünkü bunları çözmek URL'nin bölümlere ayrılma biçimini değiştirebilir. Tüm kaçış kodlarını çözmek için Bileşen modunu kullanın.
Hangi karakterler hiçbir zaman kodlanmaz?
Her iki mod da A–Z, a–z, 0–9 ve - _ . ! ~ * ' ( ) karakterlerini olduğu gibi bırakır. Tam URL modu ayrıca ; , / ? : @ & = + $ ve # karakterlerini de olduğu gibi bırakır.
Gizlilik
Kodlama ve çözme işlemleri, tarayıcınızın yerleşik JavaScript işlevleriyle tamamen tarayıcınızda gerçekleştirilir. Metniniz ve URL'leriniz yüklenmez, saklanmaz veya analiz verilerine dahil edilmez.