Resmi Base64’e dönüştürme, ikili resim verisini ASCII metin string’i olarak kodlayan bir tekniktir. Base64, ikili veriyi temsil etmek için 64 yazdırılabilir karakter (A-Z, a-z, 0-9, +, /) kullanır, her 3 byte’ı 4 Base64 karakterine dönüştürür ve sona = padding ekler. Tüm süreç RFC 4648 standardını izler.
**Kodlama prensibi**: Base64 her 3 byte’ı (24 bit) dört adet 6 bitlik gruba böler; her grup Base64 alfabesindeki bir karakterle eşleşir. Byte sayısı 3’e tam bölünmezse sona 1-2 adet = padding karakteri eklenir. Bu yüzden dosya boyutu yaklaşık %33 artar (4/3 ≈ 1.33).
**Web Worker optimizasyonu**: bu araç, kodlama işini ana thread’den ayrı bir tarayıcı thread’inde yürütmek için Web Worker kullanır. ArrayBuffer.transfer() veriyi Worker’a zero-copy aktarır ve ana thread bloklanmasını önler. Birkaç MB’lık resimlerde bile UI akıcı kalır ve ilerleme gerçek zamanlı gösterilir.
**Gizlilik ve güvenlik**: resimleri sunucuya yüklemeyi gerektiren araçların aksine bu araç tamamen tarayıcıda çalışır. Resim verisi üçüncü taraf sunuculardan geçmez; kimlik veya sözleşme gibi hassas görsellerde bu özellikle önemlidir.
**Kullanım alanları**: Base64 resimler genellikle CSS Sprites (HTTP isteklerini azaltma), HTML e-posta şablonları (e-posta istemcilerinin görsel engellemesini aşma), API ile ikili veri aktarımı ve dış kaynak referansı mümkün olmayan tarayıcı eklentileri veya tek dosyalı uygulamalarda kullanılır.