E-posta neden daha büyük?
Çünkü veri, base64
basılabilir dört ASCII karakter grubu olarak en fazla üç byte'lık grupları kodlayan kodlanır . Genellikle, bu yazdırılabilir karakter grupları daha sonra satırlara bölünür.
Sonuç, kodlanmış verilerin orijinal verilerin boyutunun 1⅓ katından biraz fazla olmasıdır.
Base64 neden kullanılıyor?
E-posta uzun bir geçmişe sahip ve başlangıçta metin taşımak için tasarlanmıştır. Yalnızca ASCII yazdırılabilir karakterlerini temsil eden bayt değerleri, gezegendeki çok çeşitli e-posta sistemlerinden güvenilir bir şekilde geçebildi.
Bu yüzden MIME, diğer verileri ASCII metni olarak kodlamak için iki şema ayırdı - çoğunlukla birkaç bit içeren ASCII metni için tasarlanan "yazdırılabilir" ve isteğe bağlı ikili veriler için "BASE64".
Bu kısıtlamaları denemek ve kaldırmak için SMTP protokolünde uzantılar yapılmıştır. İlk olarak, 1994 yılında 8BITMIME, daha yüksek oktet değerlerine izin verdi, ancak ne yazık ki satır uzunlukları ve satır sonları ile ilgili limitleri kaldırmadı, bu yüzden rastgele ikili veriler için uygun değildi; ve daha sonra 1995'te rasgele ikili veri içeren mesajların transferine izin veren BINARYMIME.
Bununla birlikte, bu standartların yaygın bir şekilde benimsenmediğini görmekteyiz. Bir sorun, posta zincirindeki bir atlama onları destekliyor ancak bir sonraki atlama yapmazsa ne olur? Posta sunucusu daha sonra postayı olduğu gibi gönderemez, ya teslim edilemez olarak reddetmeli ve geri göndermelidir (kullanıcıların kabul edemeyeceği gibi) veya dönüştürmeli (posta sunucusunda önemli ek kod gerektirir) . Dönüşüm, çok parçalı tiplerde içerik aktarım kodlamalarının kullanılmamasına ilişkin olarak MIME kurallarına göre özellikle acı vericidir.