Apa itu pengkodean Base64 dan kapan menggunakannya
Jika Anda bekerja dengan API, sistem email, atau pengembangan web, Anda telah menemui Base64 — bahkan tanpa mengenalinya. String panjang huruf dan angka yang terlihat seperti kebingungan? Itu mungkin Base64.
Apa yang dilakukan Base64
Base64 mengonversi data biner (urutan byte apa pun) menjadi string teks yang hanya menggunakan 64 karakter «aman»: A-Z, a-z, 0-9, +, dan /. Hasilnya selalu diakhiri dengan padding = jika diperlukan.
Contoh:
- Teks:
Hello World - Base64:
SGVsbG8gV29ybGQ=
Pengkodean ini ada karena banyak sistem (email, JSON, URL, XML) hanya menangani teks. Data biner — gambar, berkas yang dikompres, byte mentah — dapat berisi karakter yang merusak sistem ini. Base64 mengonversi biner menjadi teks yang melewati saluran teks apa pun tanpa rusak.
Penggunaan umum
Menyematkan gambar dalam HTML/CSS:
<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />
Ikon dan logo kecil dapat disematkan langsung di HTML Anda, menghilangkan permintaan HTTP tambahan.
Payload API: ketika API mengharapkan JSON tetapi Anda perlu menyertakan biner (unggahan berkas, gambar tanda tangan), pengkodean dalam Base64 memungkinkan Anda menyertakannya sebagai bidang teks biasa.
Lampiran email: protokol email (SMTP) berbasis teks. Setiap lampiran dikodekan dalam Base64 di balik layar untuk berjalan sebagai teks.
Header autentikasi: autentikasi HTTP Basic mengkodekan pengguna:kata_sandi dalam Base64 di header Authorization. (Ini adalah pengkodean, bukan enkripsi — tidak memberikan keamanan apa pun dengan sendirinya.)
Cara mengkodekan dan mendekodekan
- Pilih kodekan atau dekode — pilih arah konversi.
- Tempel teks atau unggah berkas — masukkan teks secara langsung atau seret-letakkan berkas (hingga 5 MB).
- Salin hasilnya — keluaran diperbarui secara instan. Salin ke clipboard.
Kapan menggunakan Base64
Gunakan ketika:
- Anda perlu menyematkan gambar kecil (kurang dari 5 KB) langsung di HTML atau CSS
- API memerlukan data biner sebagai string teks
- Anda perlu mentransmisikan biner melalui sistem yang hanya mendukung teks
Jangan gunakan ketika:
- Berkas besar — Base64 menambahkan overhead 33% dan mencegah caching
- Anda butuh keamanan — Base64 bukan enkripsi
- Anda dapat menyajikan berkas secara normal —
<img src="photo.jpg">klasik lebih efisien daripada Data URL Base64 untuk apa pun yang melebihi beberapa KB
Tips
- Berkas kecil saja — peningkatan 33% itu penting. Gambar 100 KB menjadi 133 KB di Base64, dan tidak dapat di-cache secara terpisah oleh peramban.
- Jangan bingungkan pengkodean dengan enkripsi — Base64 sepenuhnya dapat dibalik oleh siapa pun. Tidak memberikan keamanan apa pun. Gunakan untuk mengangkut data, bukan untuk melindunginya.
- Perhatikan baris baru — beberapa implementasi Base64 menambahkan baris baru setiap 76 karakter (sesuai standar MIME). Jika Anda menempel Base64 ke JSON atau URL, pastikan berada dalam satu baris.
Pertanyaan yang sering diajukan
Apakah Base64 mengenkripsi data saya?
Tidak. Base64 adalah pengkodean, bukan enkripsi. Siapa pun dapat mendekode string Base64 — tidak memberikan keamanan apa pun. Jika Anda ingin melindungi data, gunakan enkripsi sesungguhnya (AES, RSA, dll.).
Mengapa Base64 membuat berkas lebih berat?
Pengkodean Base64 meningkatkan ukuran data sekitar 33%. Tiga byte biner menjadi empat karakter Base64. Overhead ini adalah harga yang harus dibayar untuk dapat mentransmisikan biner dengan aman sebagai teks.
Bisakah saya mengkodekan berkas, bukan hanya teks?
Ya. Berkas apa pun (gambar, PDF, audio) dapat dikodekan dalam Base64. Ini umum digunakan untuk menyematkan gambar kecil langsung di HTML atau CSS sebagai Data URL.
Kapan TIDAK menggunakan Base64?
Jangan gunakan untuk berkas besar. Gambar 1 MB menjadi 1,33 MB dalam teks Base64, dan peramban tidak dapat meng-cache-nya secara terpisah. Untuk apa pun yang melebihi beberapa KB, menyajikan berkas secara normal lebih efisien.