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.
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.
Bir metin dosyasını buraya bırakın veya tıklayıp seçin
Herhangi bir UTF-8 metin dosyası:.txt,.csv,.json,.url,.log
Hızlı, doğru, yalnızca tarayıcıda — geliştiriciler, metin yazarları ve URL hata ayıklayan herkes için.
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ü.
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.
Çıktı her tuş vuruşunda güncellenir — tıklanacak "Kodla" düğmesi yok, sunucuya gidiş geliş yok.
Emoji, CJK karakterleri, aksanlı Latin ve Kiril harfleri encodeURIComponent üzerinden gidip dönerken doğru şekilde korunur.
Çö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.
Bir.txt,.csv veya.json dosyasını sürükleyerek tek adımda kodlayın veya çözün. Çıktı temiz bir.txt olarak indirilir.
Üç yerel tarayıcı API'si, üç mod, hepsi okuduğunuz sayfanın içinde çalışır.
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.
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.
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.
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.
Doğru kodlama modunun hataları önlediği gerçek senaryolar.
?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.
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.
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.
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.
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.
fetch, XHR veya beacon yok.
iKit blogundan ayrıntılı rehberler ve araç karşılaştırmaları.
The 30-year-old form-encoding quirk explained — when + means space, when it means literal +, and how to fix the email-with-plus bug.
When to reach for Base64 versus URL percent-encoding, and what each encoding actually solves.
Pretty-print, validate, and structurally diff messy JSON in any browser.
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.
Üç 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.
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.
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.