Yüzde Kodlama (RFC 3986) Aracı

Katı RFC 3986 yüzde kodlaması için metni girin ve kodla ya da çöz seçin.

Nasıl hesaplanır?

Kodlama modunda metin UTF-8 baytlarına çevrilir ve A–Z a–z 0–9 - . _ ~ dışındaki her bayt, XX onaltılık bayt değeri olmak üzere %XX biçiminde yazılır. Boşluk %20 olur, artı işareti olmaz. ASCII dışı karakterler birden çok bayt kullanır; bu yüzden é gibi tek bir harf iki dizi üretir (%C3%A9). Çözme modunda her %XX yeniden baytına çevrilir; artı işareti boşluğa dönüşmez, artı olarak kalır. Uzunluk satırı çıktı metninin bayt sayısını gösterir. Boş girdi sonuç vermez; mod belirtilmezse kodlama kullanılır.

Örnek hesaplama

café & tea? metnini kodlayalım (é iki bayt olduğundan 12 bayt). Harfler olduğu gibi kalır. İlk boşluk %20, é %C3%A9, ve işareti %26, ikinci boşluk %20 ve soru işareti %3F olur. Sonuç caf%C3%A9%20%26%20tea%3F olup 24 bayttır. Bu dizeyi çözme moduna verirseniz özgün metin geri gelir.

Bu örneği dene →

Sık yapılan hatalar

  • Boşluğun artı işaretine dönüşmesini beklemek. Bu araç RFC 3986'yı izler ve %20 verir; artı yalnızca form kodlamasına ait bir gelenektir ve çözmede de dönüştürülmez.
  • URL'nin tamamını kodlamak. Eğik çizgiler, iki nokta ve soru işareti de kaçırılır ve bağlantı çalışmaz; yalnızca tek tek parametre değerlerini kodlayın.
  • Aynı metni iki kez kodlamak. Zaten kodlanmış metindeki % işareti %25 olur; %2520 gibi sonuçlar çıkar ve sunucu bunu yalnızca bir kez çözer.
  • İki onaltılık hane gelmeyen başıboş bir % içeren metni çözmek; bu kısımlar olduğu gibi kalır, kaynağı yazım hatası için kontrol edin.
  • Uzunluğu girdinin boyutu sanmak. Değer çıktının bayt sayısıdır; kodlanmış dize özgün metinden uzundur.

Bu hesaplama hakkında

RFC 3986, URI söz dizimini tanımlar ve hiçbir zaman kodlanması gerekmeyen tek karakter grubu olarak küçük bir ayrılmamış küme belirler — A–Z, a–z harfleri, 0–9 rakamları ve dört sembol: - . _ ~. Boşluk, ? & / # gibi ayıraç karakterleri ve ASCII dışı karakterler dahil bunun dışındaki her bayt, yüzde işareti artı iki haneli onaltılık bayt değeri olarak yazılmak zorundadır (örneğin boşluk %20 olur); böylece ortaya çıkan dize bir URL'nin yapısını bozmadan güvenle taşınabilir.

Bu araç tam olarak bu kuralı uygulayarak herhangi bir metni URL için güvenli hale getirir veya tersine, yüzde kodlanmış bir dizeyi okunabilir metne çevirir. Web geliştiricileri sorgu dizeleri veya yönlendirme URL'lerini elle oluştururken, API geliştiricileri ve QA mühendisleri ise bir istek parametresinin neden sunucunun beklediğiyle eşleşmediğini araştırırken bu aracı kullanır.

Bu faydalı oldu mu?

En fazla 3 tepki seçebilirsiniz.

Yorumlar (1)

  • Editör ekibi

    Tam bir adresi değil, bir sorgu parametresi gibi tek bir değeri kodlayın: tam bir adresteki iki nokta ve eğik çizgiler serbest kümede olmadığından %3A ve %2F olur ve adres bozulur. Boşluklar %20 olarak çıkar. Form gönderimleri boşluk için artı işareti kullanır ve burada çözme artıya dokunmaz; bu tür veriyi çözerken önce artıları boşlukla değiştirin. Hangi metni kodluyorsunuz?

Popüler hesaplayıcılar

Tüm Hesaplayıcılar