Base64
Enkode dan dekode string Base64
Apa itu Base64 dan kapan digunakan?
Base64 merepresentasikan byte sembarangan menggunakan hanya 64 karakter ASCII yang dapat dicetak (A–Z, a–z, 0–9, `+`, `/`). Ini digunakan untuk menyematkan data biner di tempat yang mengharapkan teks — lampiran email (MIME), data URI (`data:image/png;base64,...`), token JWT, header basic-auth, dan file konfigurasi.
Pengodean menambah sekitar 33% overhead — tiga byte input menjadi empat karakter output. `btoa`/`atob` bawaan browser hanya menangani string Latin-1, jadi alat ini membungkusnya dengan konversi UTF-8 yang tepat untuk menghindari kesalahan 'karakter di luar jangkauan' saat mengkode emoji atau teks non-Latin.
Kasus penggunaan
- Sisipkan aset kecil secara inline — ubah piksel pelacakan 1×1 atau ikon SVG menjadi data: URI yang dapat Anda tempel ke CSS atau HTML.
- Enkode biner dalam saluran teks biasa — bungkus protobuf, gambar, atau tanda tangan dalam Base64 agar aman melalui JSON, email, atau string kueri.
- Menkodekan token atau ID — ini menghasilkan Base64 standar; untuk penggunaan URL atau nama file, ganti `+` dengan `-` dan `/` dengan `_` sendiri.
- Periksa JWT dan status OAuth — Dekode Base64 setiap segmen JWT untuk membaca header dan payload tanpa mempercayai debugger daring.
Contoh
| Input | Hasil |
|---|---|
| Hello, World! | SGVsbG8sIFdvcmxkIQ== |
| Café ☕ | Q2Fmw6kg4piV |
Pertanyaan yang Sering Diajukan
Mengapa btoa bawaan browser gagal pada emoji?
`btoa` hanya menerima karakter Latin-1 (satu byte). Urutan UTF-8 multi-byte memicu 'InvalidCharacterError'. Alat ini mengkode ke byte UTF-8 terlebih dahulu, kemudian ke Base64 — menangani semua Unicode.
Apa itu Base64 aman-URL?
Varian yang mengganti `+` dengan `-` dan `/` dengan `_` sehingga string aman dalam URL dan nama file. Catatan: alat ini menghasilkan Base64 standar, jadi lakukan pertukaran itu sendiri jika Anda memerlukan bentuk yang aman untuk URL.
Mengapa output yang didekode terlihat berantakan?
Entah Base64 telah rusak, aman untuk URL (alat ini mendekode Base64 standar — ganti `-` kembali ke `+` dan `_` ke `/` terlebih dahulu), atau bukan teks untuk memulai — Base64 secara rutin mengkodekan data biner yang tidak dapat didekode menjadi teks yang dapat dibaca.
Apakah Base64 aman?
Tidak — Base64 adalah pengkodean, bukan enkripsi. Siapa pun dapat mendekodenya. Gunakan untuk transportasi, bukan untuk menyembunyikan rahasia.
Apakah alat ini mencatat sesuatu?
Tidak. Pengodean dan pendekodean terjadi di browser Anda; tidak ada yang dikirim ke server.
