URL Kodlama ve Çözme
URL kodlama, güvenli olmayan karakterleri yüzde işareti ve iki onaltılık rakamla değiştirir. Boşluk %20, "ş" ise %C5%9F olur. %C5%9F çözülünce yine ş elde edilir.
Nasıl kullanılır
- Kodla ya da Çöz'ü seçin, sonra metni giriş kutusuna yazın veya yapıştırın.
- Arama terimi gibi tek bir değeri kodlamak için Bileşen'i seçin. Bir adresin tamamını kodlarken : / ? & = # gibi karakterleri olduğu gibi bırakmak için Tam URL'yi seçin.
- Metin, HTML formlarındaki gibi boşluk yerine + kullanıyorsa artı seçeneğini işaretleyin. Sonuç siz yazdıkça güncellenir.
- Giriş bir URL ya da sorgu dizesiyse, sonucun altındaki tablo her parametreyi çözülmüş anahtar ve değeriyle listeler. Çıktıyı almak için Kopyala'ya, sonucu ters yönde bir tur daha işlemek için Girişe aktar'a basın.
Nasıl hesaplanır
Yüzde kodlama, güvenli olmayan her karakteri UTF-8 baytlarına çevirir ve her baytı yüzde işareti ile iki onaltılık rakam olarak yazar. ğ harfi C4 9F baytlarından oluşur, bu yüzden %C4%9F olur. Bir emoji dört bayt tutar ve dört %XX grubuna dönüşür.
Bileşen modu encodeURIComponent kullanır. Yalnızca harfleri, rakamları ve - _ . ! ~ * ' ( ) karakterlerini bırakır; / ? & = : ve # dahil gerisini kodlar. URL içindeki tek bir değer için kullanılır. Tam URL modu encodeURI kullanır ve URL'nin yapısını oluşturan karakterleri (; , / ? : @ & = + $ #) de korur, yani bütün bir adres içindir.
Çözme bunun tersidir. Metinde ardından iki onaltılık rakam gelmeyen bir % varsa ya da baytlar geçerli UTF-8 oluşturmuyorsa tarayıcı çözmeyi reddeder ve araç bir hata gösterir. Sorgu tablosunda o kısım yazıldığı gibi kalır ve kırmızıyla işaretlenir; böylece tek bir bozuk değer diğerlerini gizlemez.
Artı işareti yalnızca form verisinde (application/x-www-form-urlencoded) ve çoğu sorgu dizesinde boşluk anlamına gelir. Yol içinde + düz bir artıdır. Sorgu tablosu + işaretini her zaman boşluk olarak okur, ana çözücü ise yalnızca seçenek işaretliyse böyle yapar.
Sık kullanılan karakterler
| Karakter | Kodlanmış | Not |
|---|---|---|
| Boşluk | %20 (veya +) | + yalnızca sorgu dizesinde |
| & | %26 | Parametreleri ayırır, değer içinde kodlayın |
| = | %3D | Anahtarı değerden ayırır |
| ? | %3F | Sorgu dizesini başlatır |
| # | %23 | Parçayı (fragment) başlatır |
| / | %2F | Yol ayırıcı |
| % | %25 | Kaçış karakterinin kendisi |
| + | %2B | Gerçek artı işareti kodlanmalı |
Sık sorulan sorular
encodeURI ile encodeURIComponent arasındaki fark nedir?
encodeURIComponent, URL bölümlerini ayıran karakterleri (/ ? & = : #) da kodlar; bu yüzden tek bir değer için güvenlidir. encodeURI bunlara dokunmaz, böylece adresin tamamını yapısını bozmadan kodlayabilir.
Boşluk neden bazen %20, bazen + oluyor?
%20 boşluğun standart kodlamasıdır ve her yerde çalışır. Artı işareti formlardan kalma eski yazımdır ve yalnızca sorgu dizelerinde geçerlidir. Artı seçeneği kodlarken %20 yerine + yazar.
Çözerken neden hatalı biçim uyarısı alıyorum?
Metinde tek başına bir %, ardından onaltılık olmayan karakter gelen bir % ya da tek başına %C4 gibi geçerli UTF-8 olmayan baytlar var. Bozuk kısmı düzeltin veya silin. Sorgu tablosu kalan parametreleri yine gösterir.
Türkçe karakterler ve emojiler çalışıyor mu?
Evet. Metin önce UTF-8'e çevrilir; ç, ğ, ı, ö, ş, ü ve emojiler kodlanıp çözüldüğünde aynen geri gelir.
URL'im sunucuya gönderiliyor mu?
Hayır. Her şey tarayıcınızda çalışır. Token ya da kişisel veri içeren bağlantılar cihazınızdan çıkmaz.