Bir kodlama yalnızca her iki tarafın da üzerinde anlaştığı durumlarda faydalıdır. Alıcının tanıdık bir alfabeye ihtiyaç duyduğu, yükün bir kişi tarafından yazılması gerektiği veya çevredeki söz diziminin belirli karakterleri özel olarak ele aldığı durumlarda en küçük temsil mutlaka en iyi seçim değildir. Alma protokolüyle başlayın.
Hex ayrıntılıdır ancak incelenmesi kolaydır
Onaltılık sistem her baytı iki rakam olarak yazar. Bayt dizisi FF 00 41 şu şekilde olur: ff0041. Her çiftin, dosya imzalarını, sağlama toplamlarını ve protokol paketlerini incelemeye yardımcı olan görünür bir bayt sınırı vardır. Karakter sayısını iki katına çıkarır, ancak küçük alfabesi genellikle günlüklere ve hata ayıklama araçlarına kolayca sığar.
Base64 boyutu ve birlikte çalışabilirliği dengeler
Base64 dört karakterli üç baytı temsil eder. Metin tabanlı formatlardaki ikili alanlar için yaygın bir uyumdur. Standart Base64 artı ve eğik çizgiyi içerir; Base64URL, bir protokolün farklı bir alfabeye ihtiyacı olduğunda bu karakterlerin yerini alır. Dolgu ve boşluk kurallarının hala üzerinde anlaşmaya varılması gerekiyor. Her iki form da alıcıya kodu çözülen baytların metin mi, resim mi yoksa sıkıştırılmış içerik mi olduğunu söylemez.
Yüzde kodlaması URL bileşenlerine aittir
Yüzde kodlaması, kaçış baytını şu şekilde yazar: %HH. Bu yalnızca Base64 için toplu bir alternatif değildir. Bileşen, hangi karakterlerden kaçınılması gerektiğini ve metnin önce UTF-8 olarak kodlanması gerektiğini belirler. Soru işareti bir sorgu başlatırken eğik çizgi yol bölümlerini ayırabilir; URL'nin tamamını tek bir opak bileşen olarak ele almak anlamını değiştirir.
console.log(encodeURIComponent('a+b / 中文'));
// a%2Bb%20%2F%20%E4%B8%AD%E6%96%87
Base85 tam bir değişkene ihtiyaç duyuyor
Çoğu Base85 şeması beş karakterli dört baytı temsil eder, ancak alfabeleri, sınırlayıcıları ve özel durumları farklıdır. ASCII85 ve Z85'in birbirinin yerine geçebileceği varsayılamaz. Z85 aynı zamanda blok boyutu gerekliliklerini de zorunlu kılmaktadır. Yüksek yoğunluklu bir alfabe, çevreleyen formatta tekrar kaçılması gereken noktalama işaretleri içerebilir, bu da görünürdeki faydayı azaltır.
Bu bayt kodlamalarını, 255 tamsayısını sayı tabanları arasında dönüştürmekle karıştırmayın. Bir dosya sıfır baytla başlayabilirken, bir tam sayı gösterimi baştaki sıfırları atabilir. Tersine çevrilebilir bir dosya codec bileşeni, uzunluğun ve baştaki sıfırların nasıl korunacağını tanımlamalıdır.
Bayt denetimi için Hex'i, birlikte çalışabilen ikili aktarım için belirtilen Base64 varyantını, URL'ler için URL bileşen kodlamasını ve yalnızca her iki taraf da aynı sözleşmeyi uyguladığında özel bir şema kullanın. Kaçış ve sıkıştırma sonrasında uçtan uca boyutu karşılaştırın. RFC 4648 standart Base16, Base32 ve Base64 ailelerini farklı alfabeleriyle birlikte tanımlar.