URL Kodlayıcı
Metni veya bir URL'yi JavaScript tarzı yüzde kodlamasıyla kodlayın. Kopyalayabileceğiniz bir kodlanmış dizge elde etmek için Metin veya URL alanına bir değer girin.
Metni URL Olarak Kodlama Aracı
URL Kodlayıcı Formülü
Burada:
- \(S\) — Metin veya URL alanına girilen değer.
- \(E\) — Kodlanmış URL altında gösterilen kodlanmış çıktı.
Hesaplayıcı, baştaki ve sondaki boşlukları kaldırır, ardından JavaScript'in encodeURIComponent işlevini uygular. Kodlanması gereken karakterler, her UTF-8 baytı için yüzde işareti ve ardından onaltılık basamaklarla temsil edilir.
URL Kodlayıcı – Hesaplama Örneği
Örnek: Varsayılan değer olan https://calcdash.com/tools?utm_source=chat ifadesini Metin veya URL alanına girin.
\[ \operatorname{encodeURIComponent}(S) = \texttt{https\%3A\%2F\%2Fcalcdash.com\%2Ftools\%3Futm\_source\%3Dchat} \]
Sonuç: https%3A%2F%2Fcalcdash.com%2Ftools%3Futm_source%3Dchat.
URL Kodlayıcı nasıl kullanılır
- Kodlamak istediğiniz değeri Metin veya URL alanına girin veya yapıştırın. Bu bir kelime, bir sorgu parametresi değeri, bir yol parçası ya da tam bir URL olabilir.
- Sonucu Kodlanmış URL altında okuyun. Hesaplayıcı, değerin başındaki ve sonundaki boşlukları kaldırdıktan sonra girilen değerin tamamını kodlar.
- Sonucu kopyalayın ve kodlanmış bir değerin gerektiği yere yerleştirin. Tam bir URL girdiyseniz, sonucun doğrudan açabileceğiniz bir bağlantı olduğunu varsaymayın; URL'nin yapısal karakterleri de kodlanmıştır.
URL kodlaması ne yapar
Yüzde kodlaması, belirli karakterleri yüzde işareti ve onaltılık basamaklarla temsil eder. Verinin, aksi hâlde bir URL'de özel anlam taşıyacak karakterler içermesini sağlar. Örneğin, bir boşluk %20, bir ve işareti %26 ve gerçek bir yüzde işareti %25 olur. Her kodlanmış baytın kendi yüzde dizisi vardır; bu nedenle ASCII aralığı dışındaki bir karakter birden fazla dizi üretebilir.
Bu hesaplayıcı, bir URL'nin tek bir bileşeni için tasarlanmış olan encodeURIComponent işlevini kullanır. :, /, ?, & ve = gibi ayırıcıları da kodlar. Bu özellik, bir değerin URL'nin yapısının bir parçası sanılmaması gerektiği durumlarda yararlıdır. Örneğin, red shoes & boots sorgu değerini kodlamak red%20shoes%20%26%20boots sonucunu verir. Ve işareti, iki parametreyi ayırmak yerine değerin bir parçası olarak kalır.
Varsayılan örnek, bu ayrımın neden önemli olduğunu gösterir: tam bir URL'yi kodlamak, https:// ifadesini https%3A%2F%2F biçimine dönüştürür. Çıktı, o URL'yi temsil eden kodlanmış bir dizgedir; aynı gezinilebilir URL değildir. Bir bağlantı oluşturuyorsanız, yapısal ayırıcıları olduğu gibi koruyun ve yalnızca gerektiren değerleri kodlayın. Kodlanmış metni yeniden okunabilir metne dönüştürmek için URL Çözücüyü kullanın.
Varsayımlar ve pratik ipuçları
- Baştaki ve sondaki boşluklar kaldırılır. Hesaplayıcı, kodlamadan önce boşlukları ve çevredeki diğer boşluk karakterlerini kırpar. Değerin içindeki boşluklar kalır; normal iç boşluklar
%20olur. Baştaki veya sondaki boşluklar önemli veriyseler, bu araç onları korumaz. - Bazı karakterler değişmeden kalır. Harfler, rakamlar ve
- _ . ! ~ * ' ( )karakterleriencodeURIComponenttarafından kodlanmaz. Değişmemiş bir karakter, hesaplayıcının girdiyi atladığı anlamına gelmez. - Bir değeri yalnızca bir kez kodlayın.
%20gibi mevcut bir dizide gerçek bir yüzde işareti vardır. Bunu yeniden kodlamak%2520üretir. Zaten kodlanmış bir değeri değiştirmeniz gerekiyorsa önce çözün. - Boşluklar burada artı işareti değildir. Bu araç, boşluk için
%20, gerçek bir artı işareti için%2Bçıktısı verir. Bazı HTML form gönderimleri boşluk için bunun yerine+kullanır; bu hesaplayıcı o form kodlaması kuralını uygulamaz. - Kodlama, şifreleme değildir. Sonucu herkes çözebilir; bu nedenle parolaları veya diğer hassas bilgileri gizlemek için kullanmayın. Eşlenmemiş bir UTF-16 vekil karakteri içeren nadir bir bozuk metin değeri, JavaScript kodlamasının başarısız olmasına da neden olabilir.
Daha geniş bir metinden önce bağlantı toplamanız gerekiyorsa URL Ayıklayıcıyı kullanın. Göreviniz yüzde kodlaması yerine Base64 gerektiriyorsa Base64 Kodlayıcıyı kullanın; iki biçim farklı amaçlara hizmet eder ve farklı sonuçlar üretir.
Sıkça Sorulan Sorular
Metni elle nasıl URL olarak kodlayabilirim?
Kodlanması gereken her karakteri UTF-8 baytlarına dönüştürün, ardından her baytı yüzde işareti ve iki onaltılık basamak olarak yazın. Örneğin, normal bir boşluk onaltılık olarak 20 baytıdır, bu nedenle %20 olur. İzin verilen karakterleri değiştirmeden bırakın. Uzun dizgeler için bir araç daha güvenlidir; çünkü görünür tek bir karakter birden fazla bayt kaplayabilir.
encodeURI ve encodeURIComponent arasındaki fark nedir?
JavaScript'in encodeURI işlevi tam bir URL için tasarlanmıştır ve :, /, ? ve & gibi yapısal karakterleri değişmeden bırakır. encodeURIComponent, girdiyi tek bir değer olarak ele aldığı için bu karakterleri kodlar. Bir sorgu parametresi değeri veya yol parçası için encodeURIComponent kullanın; tam bir bağlantı oluşturmanız gerektiğinde URL oluşturma API'sini kullanın.
Aksanlı harfler ve emojiler URL'de nasıl kodlanır?
Yüzde kodlamasından önce UTF-8 baytlarına dönüştürülürler. Örneğin é harfi, UTF-8 gösterimi iki bayt olduğu için %C3%A9 olur. Bir emoji dört yüzde dizisi gerektirebilir. Dizi sayısı, ekranda gördüğünüz karakter sayısını değil, bayt sayısını yansıtır.
Ayırıcıları kodlamadan birkaç sorgu parametresini nasıl kodlarım?
Her parametre adını ve değerini ayrı ayrı kodlayın, sonra her çifti = ile ve çiftleri & ile birleştirin. JavaScript'te URLSearchParams bu birleştirmeyi sizin için yapabilir; ancak form kodlaması kuralları gereği boşlukları + olarak gösterebilir. Birleştirilmiş sorgu dizgesini tek bir bileşen olarak kodlamayın: bu, ayırıcılarını da kodlar.
ve bir URL'de eşdeğer midir?
Evet. Yüzde dizilerindeki onaltılık harfler büyük/küçük harfe duyarlı değildir; bu nedenle %2F ve %2f her ikisi de bir eğik çizgi baytını temsil eder. Kodlayıcılar genellikle büyük harf üretir. Ancak kodlanmış bir eğik çizgiyi yerleştirdiğiniz yere dikkat edin: sunucular ve yönlendirme sistemleri, özellikle bir yol parçasının içinde, kodu çözüldükten sonra onu farklı yorumlayabilir.
URL kodlaması, karakterleri HTML varlıklarıyla değiştirmekle aynı şey midir?
Hayır. Yüzde kodlaması URL'lerin içinde kullanılır; HTML varlıkları ise HTML yazarken kullanılır. Örneğin, bir URL değerindeki gerçek bir ve işareti %26 olurken, HTML kaynağındaki bir ve işareti & olarak yazılabilir. Bir URL HTML içinde yer alıyorsa, her iki kural da farklı aşamalarda geçerli olabilir. Yüzdeyle kodlanmış bir URL değeri yerine HTML varlığı koymayın.