Gelişmiş Seçenekler
+ İşaretini Boşluklara Dönüştür
Etkinleştirildiğinde, + karakterleri boşluklara dönüştürülür. Bu, sorgu parametrelerini çözerken kullanışlıdır.
Canlı Mod
Etkinleştirildiğinde, metin siz yazarken otomatik olarak çözülür.
Bu seçenekler, URL'lerinizdeki kodlanmış karakterlerin nasıl çözüleceğini kontrol etmenize yardımcı olur.
URL kod çözme nedir?
URL kod çözme, yüzde kodlamayı tersine çevirir: kodlanmış bir URL'deki %XX kaçış dizilerini okur ve temsil ettikleri karakterlere geri dönüştürür. Böylece bir tarayıcı, API veya günlük satırının kodlanmış hâlde sunduğu URL'den okunabilir sorgu dizesini, form değerini ya da yol parçasını geri elde edersiniz.
URL kod çözme nasıl çalışır?
URL kod çözme, yüzde ile kodlanmış dizileri orijinal karakterlerine geri dönüştürmek için belirli bir süreci takip eder:
- Giriş dizesi, yüzde kodlamalı kaçış dizileri (%XX) için taranır
- Her %XX, iki onaltılık basamağından özgün bayt değerine geri dönüştürülür
- Ardışık çözülmüş baytlar UTF-8 karakterlerine yeniden birleştirilir (çok baytlı bir dizi tek bir karaktere dönüşür)
- Sorgu dizesi bağlamında + bir boşluğa çözülür (application/x-www-form-urlencoded), %2B ise düz bir + olarak kalır
- Ayrılmamış karakterler ve zaten çözülmüş metin değişmeden geçer
Neden bir URL kod çözücü kullanılır?
- Okunabilir çıktı: %20, %40 ve %3D'yi boşluk, @ ve = olarak geri çevirin; URL'nin gerçekte ne söylediğini okuyun
- Uluslararası metin: Aksanlı ve ASCII dışı karakterleri UTF-8 bayt dizilerinden yeniden oluşturun; %C3%A9 tekrar é olarak okunabilsin
- Hata ayıklama: Bir sorgu dizesi, OAuth yönlendirmesi veya webhook yükündeki gerçek değerleri harekete geçmeden önce inceleyin
- Standartlara uygunluk: RFC 3986'ya göre çözün — tarayıcıların ve sunucuların kullandığı kuralların aynısı — böylece onların gördüğünü tam olarak görün
URL kod çözmenin yaygın uygulamaları nelerdir?
URL kod çözme birçok web geliştirme senaryosunda gereklidir:
- Form Gönderimleri: application/x-www-form-urlencoded GET ve POST verilerinden orijinal alan değerlerini geri okuma
- API Geliştirme: Bir API uç noktasına gelen yüzde kodlu yol ve sorgu parametrelerini çözme
- Dosya Sistemleri: URL içinde taşınmak üzere yüzde kodlanmış dosya yollarını ve adlarını kurtarma
- Bağlantı Hata Ayıklama: Paylaşılan veya günlüğe kaydedilen URL'leri çözerek içerdikleri özel karakterleri ve uluslararası metni görme
URL kod çözme örneği nasıl görünür?
İşte bazı yaygın URL kod çözme örnekleri: %20 (veya +) boşluğa, %40 @'ya, %23 #'a, %26 &'ya, %3D ='e dönüşür. %C3%A9 gibi bir UTF-8 dizisi ise é uluslararası karakterine dönüşür.
Yüzde kodlama nedir?
Yüzde kodlama, RFC 3986 §2.1 tarafından, bir URI içinde güvensiz veya ayrılmış karakterleri temsil etmek için tanımlanan mekanizmadır. Kural mekaniktir: harfi harfine görünemeyen her bayt, ardından iki onaltılık basamak gelen bir yüzde işareti olarak yazılır — %XX biçimi —, burada XX baytın değeridir. é gibi ASCII dışı karakterler önce UTF-8 bayt dizisi olarak kodlanır, sonra her bayt ayrı ayrı yüzde kodlanır. Geliştiriciler bununla neredeyse her gün karşılaşır: sorgu dizelerinde, form gönderimlerinde, OAuth geri çağırma URL'lerinde, REST API yol parametrelerinde ve bir URL'nin noktalama işaretleri, boşluklar veya ayrılmamış küme A–Z a–z 0–9 - _ . ~ dışındaki karakterleri taşıması gereken her yerde.
%C3%A9'yi é'ye çözümleme aslında nasıl çalışır?
Kodlanmış sorgu dizesi ?q=caf%C3%A9&lang=fr'yi ele alalım. Çözümleme ?q=café&lang=fr üretir. İşte bayt bayt inceleme:
- Girdi:
?q=caf%C3%A9&lang=fr - Çıktı:
?q=café&lang=fr
%C3→ bayt0xC3(ikili11000011) — 2 baytlık bir UTF-8 dizisinin lider baytı.%A9→ bayt0xA9(ikili10101001) — devam baytı. BirlikteC3 A9, U+00E9'nin UTF-8 kodlamasıdır, yanié'dir.?,=ve&karakterleri dokunulmadan bırakılır çünkü yapısaldırlar — sorguyu ve anahtar/değer çiftlerini sınırlandırırlar. Düzcafde değişmeden geçer, çünkü küçük ASCII harfleri ayrılmamış kümeye aittir.
decodeURIComponent ile decodeURI arasındaki fark nedir?
JavaScript yerleşik iki çözümleyici sunar ve bunları karıştırmak URL işlemenin en yaygın hatalarından biridir:
decodeURIComponent(str),&,=,?,/ve#gibi ayrılmış karakterler dahil her yüzde kodlanmış diziyi çözer. Bunu tek tek sorgu dizesi değerlerinde veya yol parçalarında kullanın — asla bir URL'nin tamamında değil.decodeURI(str)kasıtlı olarak tutucudur: ayrılmış karakterleri atlar. Ona%26verdiğinizde&değil, harfi harfine%26dizesi döner. Yapının gidip dönmeye dayanmasını istediğiniz tam URI'ler için tasarlanmıştır.
Pratik kural: dize bir URL'nin parçasıysa (tek bir parametre, bir parça, kodlanmış bir dosya adı), decodeURIComponent'e başvurun. Bu araç decodeURIComponent gibi davranır — girişinizdeki her %XX dizisi, ayrılmış karakterler dahil çözülür.
Bir URL'yi çözmek, içinde gerçekte ne olduğunu okumanın yolu budur. Yukarıya kodlanmış bir dize yapıştırın; her %XX dizisi anında karakterine dönüşür — bir sunucuya hiçbir şey göndermeden sorgu parametresini hata ayıklayabilir, OAuth yönlendirmesini kontrol edebilir ya da aksanlı bir dosya adını kurtarabilirsiniz.