Base64 Boyut Hesaplama

Base64, her 3 baytı 4 karaktere çevirir; dolgu ('=') ile kodlanmış uzunluk 4 × ⌈n ÷ 3⌉ karakterdir (n: bayt). Bu yüzden veri yaklaşık üçte bir, yani yüzde 33 büyür; e-postadaki gibi satırlara bölünürse satır sonları da eklenir.

Son güncelleme: · Yazılım ve bilişim hesaplamaları

Hesaplama formu

Ham veri boyutunu, birimini ve satır bölme biçimini seç.

Aralık: 0 – 10.000.000

Base64url (RFC 4648 §5) çoğu zaman dolgusuz kullanılır.

Ne hesaplaman gerektiğinden emin değil misin? Hesap asistanına sor, uygun hesaplayıcıyı birlikte bulalım.

Sonucun burada görünecek

Soldaki formu doldurup Hesapla'ya bas; ana sonuç, dağılım ve adım adım hesap burada açılır.

Örnek: Base64 çıktı boyutu 4.105.262 bayt (karakter) Örneği incele

Base64 boyutu nasıl hesaplanır?

Base64 alfabesinde 64 karakter vardır ve her karakter 6 bit taşır. Üç bayt (24 bit) tam olarak dört karaktere sığar.

Veri 3'e tam bölünmüyorsa son grup '=' dolgusuyla dört karaktere tamamlanır (RFC 4648). Bu yüzden 1 bayt da 4 karakter, 2 bayt da 4 karakter tutar.

URL ve JWT'de kullanılan base64url çoğu zaman dolgusuzdur; bu durumda uzunluk ⌈4n ÷ 3⌉ karakterdir.

E-posta ekleri (MIME, RFC 2045) en fazla 76 karakterlik satırlara bölünür ve her satır CRLF (2 bayt) ile biter. PEM sertifikaları (RFC 7468) 64 karakterlik satır ve LF kullanır. Hesaplayıcı son satırdan sonra satır sonu eklemez.

Formül

Dolgulu uzunluk
4 × ⌈n ÷ 3⌉
Dolgusuz uzunluk
⌈4n ÷ 3⌉
Satır sonları
(⌈karakter ÷ satır uzunluğu⌉ − 1) × satır sonu baytı
Artış (%)
(çıktı − n) ÷ n × 100

Örnek hesap

Aşağıdaki örnek, şu değerlerle (Ham veri boyutu: 3, Birim: MB (10⁶ bayt), Satır bölme: MIME / e-posta: 76 karakter + CRLF, '=' dolgu karakterleri eklensin: Evet) hesaplayıcının kendisiyle hesaplanmıştır.

Örnek hesap adımları
AdımHesapDeğer
Ham bayt3 MB × 1.000.0003.000.000 bayt
Base64 karakteri4 × ⌈n ÷ 3⌉ (her 3 bayt 4 karakter olur, eksik grup '=' ile tamamlanır)4.000.000
Satır sonları(⌈4000000 ÷ 76⌉ − 1) × 2 bayt105.262 bayt
Toplamkarakter + satır sonları4.105.262 bayt
Base64 çıktı boyutu4.105.262 bayt (karakter)

Kaynaklar

Son güncelleme: (içerik ya da kullanılan verinin son değiştiği ya da kontrol edildiği tarih).

Hesaba katılmayanlar

  • E-postanın MIME başlıkları ve sınır (boundary) satırları hesaba katılmaz.
  • Data URI ön eki (data:image/png;base64,) çıktıya eklenmez; birkaç düzine bayt fark eder.
  • Karakterlerin ASCII olarak tek baytla saklandığı varsayılır; UTF-16 kullanan ortamlarda bellekte iki katı yer kaplar.

Sıkça sorulan sorular

Base64 dosyayı ne kadar büyütür?

Yaklaşık yüzde 33. Her 3 bayt 4 karakter olur. Satır bölme kullanılırsa e-postada bu oran yüzde 35'e yaklaşır.

Sondaki '=' işaretleri ne anlama gelir?

Dolgudur. Veri 3 baytın katı değilse son grup bir ya da iki '=' ile tamamlanır. Kalan 1 bayt için iki, 2 bayt için bir '=' eklenir.

25 MB sınırlı e-postaya en fazla kaç MB dosya eklenir?

E-posta ekleri Base64 ile kodlanır ve yaklaşık yüzde 35 büyür. Sağlayıcının sınırı 25 MB ise, kodlanmış hâlinin bu sınırı geçmemesi gerekir; ham dosya yaklaşık 18 MB'ı aşmamalıdır.

Base64 bir şifreleme mi?

Hayır. Base64 yalnızca ikili veriyi metin olarak taşımaya yarayan bir kodlamadır; herkes geri çözebilir. Gizlilik sağlamaz.