Panduan

Encoding Base64: Panduan Lengkap

Encoding Base64 adalah teknik fundamental dalam komputasi yang mengkonversi data biner menjadi teks ASCII. Meskipun konsepnya mungkin tampak sederhana, memahami kapan dan bagaimana menggunakan Base64 dengan benar sangat penting untuk web developer, profesional keamanan, dan siapa saja yang bekerja dengan transmisi data.

Apa itu Base64?

Base64 adalah skema encoding binary-to-text yang merepresentasikan data biner menggunakan set 64 karakter ASCII yang dapat dicetak. Namanya berasal dari 64 karakter yang digunakan: A-Z (26), a-z (26), 0-9 (10), dan + serta / (dengan = untuk padding). Tujuan utama Base64 adalah meng-encode data biner untuk transmisi aman melalui sistem berbasis teks. Email, URL, dan JSON dirancang untuk teks dan dapat merusak data biner. Base64 mengkonversi biner menjadi teks yang aman. Base64 mengambil setiap 3 byte (24 bit) input dan mengkonversinya menjadi 4 karakter Base64 (6 bit masing-masing). Ini berarti peningkatan ukuran sekitar 33%. Padding dengan = menangani input yang bukan kelipatan 3. Base64 bukan kompresi—ia meningkatkan ukuran. Ini bukan enkripsi—siapa pun dapat men-decode-nya secara instan. Ini murni transformasi format untuk keamanan karakter.

Kasus Penggunaan Umum

Data URI menyematkan gambar langsung di HTML/CSS: <img src="data:image/png;base64,...">. Ini mengurangi permintaan HTTP untuk gambar kecil tetapi meningkatkan ukuran. API JSON menggunakan Base64 untuk data biner seperti gambar atau file yang diunggah. Lampiran email menggunakan Base64 (MIME) untuk file biner. HTTP Basic Authentication meng-encode kredensial dalam Base64. Token JWT menggunakan encoding Base64URL untuk header, payload, dan signature. Browser localStorage menyimpan data biner yang di-encode Base64 karena hanya mendukung string. Base64 cocok untuk embedding, transmisi, dan serialisasi—bukan untuk keamanan.

Overhead Base64

Base64 mengkonversi setiap 3 byte menjadi 4 karakter: peningkatan ukuran 33,33%. File 1 MB menjadi 1,33 MB. Pertimbangkan overhead ini saat memilih untuk menggunakan Base64. Overhead yang dapat diterima: ikon kecil di bawah 10-20 KB, SVG, aset kritis, lampiran email, payload API di mana kesederhanaan penting. Overhead yang bermasalah: gambar besar, API frekuensi tinggi, mobile dengan bandwidth terbatas, penyimpanan skala besar. Kompresi dapat mengimbangi beberapa overhead. Pertimbangan caching penting—Base64 inline tidak dapat di-cache secara terpisah.

Coba Alat

Encoder/Decoder Base64

Encoder/Decoder Base64

Pelajari Lebih Lanjut

FAQ

Encoder/Decoder Base64

FAQ