Base64 adalah penulisan, bukan penyandian rahasia
Base64 menuliskan ulang bita sembarang hanya dengan A-Z, a-z, 0-9, dan dua lambang. Tiga bita terbelah menjadi empat kelompok enam bit, masing-masing menjadi satu karakter, sehingga keluarannya berukuran sekitar empat pertiga masukannya. Tanda sama dengan mengisi kelompok terakhir yang belum lengkap.
Tujuannya membawa data biner melewati saluran yang hanya menerima teks: lampiran surel, gambar yang ditanamkan langsung ke dalam halaman, dan kredensial yang ditaruh pada tajuk HTTP. Itu mencegah sistem perantara merusak bita yang tidak mereka duga.
Karakter multi-byte diubah dulu ke UTF-8 lalu dienkode dari situ. Kata café berukuran lima byte karena é memakai dua, jadi menghasilkan delapan karakter Base64 — sama dengan kata lima huruf tanpa aksen. Karena itu panjang keluaran tidak bisa diandalkan untuk menebak jumlah karakter aslinya.
Jangan menganggap penyandian sebagai keamanan
Siapa pun bisa membalik Base64 seketika. Menyimpan kata sandi atau token dalam Base64 tidak menyembunyikannya; itu hanya membuatnya merepotkan untuk dibaca, dan ia terbuka sepenuhnya begitu sampai ke berkas log atau cadangan. Nilai yang harus tetap rahasia menuntut penyandian rahasia atau hash.
Menjejalkan Base64 mentah ke dalam URL merusaknya. Karakter tambah dan garis miring pada abjad bakunya bermakna lain di dalam alamat web, jadi URL menuntut ragam aman-URL yang mengganti kedua karakter itu.
Penguraian yang gagal biasanya masalah panjang atau pengisi. Panjang teks Base64 harus kelipatan empat, dan pindah baris atau spasi liar yang terbawa saat menyalin akan membuat pengurainya menolak.