URL Encoder

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

Herhangi bir metni percent-encoding ile URL'ye uygun bir dizeye dönüştürün veya kodlanmış bir URL'yi düz metne geri çözün. Canlı önizleme, UTF-8 uyumlu ve tamamen tarayıcınızda çalışır.

Bileşen (encodeURIComponent) ayrılmamış (unreserved) karakter olmayan her şeyi kaçırır — sorgu dizesi değerleri, yol segmentleri veya tek bir alan için en güvenli olanıdır. URI (encodeURI) URL yapısını oluşturan karakterleri (:/?#=&) korur — onu tüm bir URL üzerinde kullanın. Form (application/x-www-form-urlencoded) ise Bileşen + boşlukların '+' olmasıdır — HTML formlarının kullandığı yöntem.

RFC 3986, kodlama gerektirmeyen bir "unreserved" karakter kümesi tanımlar: A-Z a-z 0-9 - _. ~. Diğer her şey percent-encoding ile kodlanır. encodeURIComponent ek olarak :/?#&= karakterlerini de kodlar; encodeURI bunlara dokunmaz. Bir sorgu değerini mi yoksa tüm bir URL'yi mi kodladığınızda bu fark önemlidir.

Düz metin

0 karakter

Kodlanmış çıktı

0 karakter

Neden iKit URL Kodlayıcı

Hızlı, doğru, yalnızca tarayıcıda — geliştiriciler, metin yazarları ve URL hata ayıklayan herkes için.

Üç kodlama modu

Kodladığınız şeye göre Bileşen, Tam URI veya Form modunu seçin — sorgu dizesi değerleri, tüm bir URL veya HTML form yükü.

Tasarım gereği gizlilik

Her kodlama ve çözme işlemi, yerel JavaScript kullanılarak tarayıcınızda gerçekleşir. Metniniz ve URL'leriniz cihazınızdan asla ayrılmaz.

Canlı önizleme

Çıktı her tuş vuruşunda güncellenir — tıklanacak "Kodla" düğmesi yok, sunucuya gidiş geliş yok.

UTF-8 uyumlu

Emoji, CJK karakterleri, aksanlı Latin ve Kiril harfleri encodeURIComponent üzerinden gidip dönerken doğru şekilde korunur.

Form tarzı + işleme

Çözme sırasında '+' karakterini isteğe bağlı olarak boşluk olarak yorumlayın — HTML formlarının application/x-www-form-urlencoded altında kullandığı kural.

Toplu dosya işleme

Bir.txt,.csv veya.json dosyasını sürükleyerek tek adımda kodlayın veya çözün. Çıktı temiz bir.txt olarak indirilir.

URL kodlama gerçekte nasıl çalışır

Üç yerel tarayıcı API'si, üç mod, hepsi okuduğunuz sayfanın içinde çalışır.

  1. 1

    Düzenleyiciye yazarsınız

    Her tuş vuruşunda, girdi dizesi küçük bir JavaScript fonksiyonuna iletilir. Debounce yok, API çağrısı yok, fetch yok — fonksiyon tarayıcı sekmenizde eşzamanlı olarak çalışır.

  2. 2

    Modu seçin

    Bileşen encodeURIComponent çağırır — A-Z a-z 0-9 - _. ~ dışındaki her şeyi kaçırır. URI encodeURI çağırır — tam bir URL'nin geçerli kalması için :/?#=& karakterlerini korur. Form, encodeURIComponent kullanır ve application/x-www-form-urlencoded uyarınca boşluğu + ile değiştirir.

  3. 3

    UTF-8 gelir

    Hem encodeURIComponent hem de encodeURI, her güvensiz baytı percent-encoding ile kodlamadan önce dizeyi dahili olarak UTF-8 baytlarına dönüştürür. Yani Çince 中 için %E4%B8%AD — RFC 3986'nın gerektirdiği şey.

  4. 4

    Çıktı canlı görünür

    Sonuç, salt okunur çıktının değeri olarak ayarlanır. Panoya almak için navigator.clipboard.writeText ile Kopyala'ya, Blob URL aracılığıyla .txt olarak kaydetmek için İndir'e tıklayın — her ikisi de tarayıcınızda kalır.

Yaygın kullanım alanları

Doğru kodlama modunun hataları önlediği gerçek senaryolar.

Sorgu dizesi değerleri oluşturma

?q=... içine koyduğunuz herhangi bir kullanıcı girdisi Bileşen modu ile kodlanmalıdır. URI modu = ve & karakterlerini ham bırakır ve değer bunları içerdiğinde URL'nizi bozar.

Sohbette uzun bir URL paylaşma

Bazı sohbet uygulamaları ve PDF'ler, ham boşluk veya ASCII olmayan karakterler içerdiğinde bağlantıları bozar. URL'yi her yerde kopyala-yapıştır güvenli hale getirmek için URI modundan geçirin.

400 döndüren bir backend'de hata ayıklama

API'niz bir isteği reddettiğinde, sunucunun gerçekten neyi gördüğünü görmek için URL'yi Çöz moduna yapıştırın. Çift kodlanmış değerler (burada % kendisi %25 olarak kodlanmıştır) hemen ortaya çıkar.

Form verisi gidiş-dönüş

application/x-www-form-urlencoded içindeki POST gövdelerinde hata ayıklarken, "+ boşluk olarak" seçeneği açıkken çözün. Tarayıcıların kullandığı kural budur ve bunu unutmak "kullanıcı adım neden artı işaretleriyle görünüyor" hatalarının bir numaralı sebebidir.

Yerel kodlama neden önemlidir

Kodladığınız URL'ler genellikle gerçek müşteri e-postalarını, kimlikleri veya oturum anahtarlarını içerir — tam da bir yabancının sunucu aracına yapıştırmak istemeyeceğiniz türden veriler. iKit URL Kodlayıcı, tarayıcınızda zaten yüklü olan JavaScript olarak çalışır, bu nedenle girdi sekmenizden asla ayrılmaz.

  • Kodlama veya çözme sırasında fetch, XHR veya beacon yok.
  • Sayfa yüklendikten sonra çevrimdışı çalışır.
  • Günlük yok, hız sınırı yok, kayıt yok, günlük kota yok.

İlgili rehberler

iKit blogundan ayrıntılı rehberler ve araç karşılaştırmaları.

Sıkça Sorulan Sorular

Bileşen, URI ve Form modları arasındaki fark nedir?

Bileşen (encodeURIComponent) ayrılmamış (unreserved) karakter olmayan her şeyi kaçırır — sorgu dizesi değerleri, yol segmentleri veya tek bir alan için en güvenli olanıdır. URI (encodeURI) URL yapısını oluşturan karakterleri (:/?#=&) korur — onu tüm bir URL üzerinde kullanın. Form (application/x-www-form-urlencoded) ise Bileşen + boşlukların '+' olmasıdır — HTML formlarının kullandığı yöntem.

Neden bazı karakterler kodlanmıyor?

RFC 3986, kodlama gerektirmeyen bir "unreserved" karakter kümesi tanımlar: A-Z a-z 0-9 - _. ~. Diğer her şey percent-encoding ile kodlanır. encodeURIComponent ek olarak :/?#&= karakterlerini de kodlar; encodeURI bunlara dokunmaz. Bir sorgu değerini mi yoksa tüm bir URL'yi mi kodladığınızda bu fark önemlidir.

Çözülmüş metnim neden yanlış görünüyor?

Üç yaygın neden: (1) orijinal Form ile kodlanmıştı, bu yüzden '+' boşluk olarak yorumlanmalı — bu seçeneği açın. (2) Çift kodlama — girdi iki kez kodlanmıştı; tekrar çözün. (3) Geçersiz percent dizisi — iki onaltılık basamağın takip etmediği başıboş bir %. Tam bayt konumu için hata mesajını kontrol edin.

Kodlanmış URL, JavaScript'in encodeURIComponent'iyle tamamen aynı mı?

Bileşen modu için evet — doğrudan encodeURIComponent çağrılır. Form modu, RFC 3986 + WHATWG'a göre standart form-encoding ince ayarlarını ekler (! ' * karakterleri %21 %27 %28 %29 %2A olur). URI modu encodeURI'yi çağırır; bu çoğu dilin 'percent-encode a URL' ile kastettiği şeydir.

URL'lerim herhangi bir yere yükleniyor mu?

Hayır. Tüm araç bu sayfanın içindeki JavaScript'tir — kodlama ve çözme tarayıcınızda gerçekleşir. DevTools → Network sekmesini açıp izleyerek doğrulayabilirsiniz: kodlama veya çözme işlemleri sırasında hiçbir istek gönderilmez.