Base64 kodlaması nedir?
Base64, rastgele bayt verilerini yalnızca 64 yazdırılabilir ASCII karakteri kullanarak temsil eden bir ikiliden metne kodlama yöntemidir: A-Z, a-z, 0-9 ile birlikte + ve /. HTML/CSS içine görsel gömmek (data URI'leri), e-postada ikili eklentiler göndermek (MIME), JSON Web Token'larında ve ikili verinin yalnızca metin taşıyan bir kanaldan güvenle geçmesi gereken her yerde yaygın olarak kullanılır. Bu araç yazdığınız her metni kodlar — önce UTF-8 baytları hesaplanır, ardından kodlama uygulanır.
Bu kodlayıcı nasıl kullanılır?
Metninizi kutuya yazın ya da yapıştırın ve gönderin. Hesaplayıcı metni UTF-8 baytlarına dönüştürür, standart Base64 algoritmasını uygular ve kodlanmış diziyi giriş bayt sayısı ile çıktı karakter sayısıyla birlikte size verir.
Formülün açıklaması
Kodlayıcı giriş baytlarını üçer üçer okur. Üç bayt 24 bit oluşturur; bu da eşit biçimde dört adet 6 bitlik parçaya bölünür. Her 6 bitlik değer (0–63) alfabede bir konuma karşılık gelerek tek bir çıktı karakteri üretir. Giriş uzunluğu 3'ün katı değilse algoritma son grubu doldurur: artakalan tek bayt iki karakter artı == üretir, iki artakalan bayt ise üç karakter artı tek bir = üretir. Dolayısıyla çıktı uzunluğu her zaman aşağıdaki gibi olur:
Adım adım örnek
Man metnini kodlayalım. ASCII baytları 77, 97, 110 → ikili düzende 01001101 01100001 01101110. 6 bitlik parçalara ayrılınca: 010011 = 19 → T, 010110 = 22 → W, 000101 = 5 → F, 101110 = 46 → u. Sonuç: TWFu — girişte 3 bayt, çıkışta 4 karakter, dolgu yok.
Sıkça sorulan sorular
Çıktım neden = işaretleriyle bitiyor? Girişiniz 3 baytın katı olmadığında dolgu (padding) son grubu tamamlar ve çıktı uzunluğunu 4'ün katı olarak korur.
Base64 verilerimi şifreler mi? Hayır. Base64 bir şifreleme değil, kodlamadır — herkes geri çözebilir. Yalnızca ikili verinin metin olarak güvenle taşınmasını sağlar.
Çıktı neden girişten daha büyük? Base64, her 3 baytı 4 karaktere dönüştürdüğü için veriyi yaklaşık %33 büyütür.