Base64
Kodekan teks ke Base64 dan dekode kembali, dengan dukungan UTF-8 dan emoji penuh, alfabet aman-URL opsional, serta peringatan saat masukan tak valid.
Keluaran akan muncul di sini
Apa itu Base64 dan mengapa ia ada
Base64 adalah cara merepresentasikan data biner apa pun hanya dengan 64 karakter polos yang bisa dicetak: A–Z, a–z, 0–9, plus dua simbol. Ia ada karena banyak sistem dibangun untuk membawa teks, bukan bita mentah. Badan surel, URL, string JSON, atribut HTML, dan header HTTP semuanya bisa dirusak oleh konten biner sembarang, tetapi mereka meneruskan teks Base64 begitu saja tanpa perubahan. Mengodekan ke Base64 membuat data biner aman untuk disematkan di saluran hanya-teks itu.
Imbangannya adalah ukuran: Base64 merepresentasikan setiap tiga bita sebagai empat karakter, jadi bentuk terkodekan sekitar 33% lebih besar daripada aslinya. Itu tidak masalah untuk payload kecil seperti token, gambar kecil, atau kunci, dan menjadi alasan berkas besar jarang dikodekan ke Base64 dalam praktik.
Ini pengodean, bukan enkripsi
Inilah satu hal terpenting untuk dipahami tentang Base64: ia sama sekali tak memberi keamanan. Siapa pun bisa mendekode Base64 seketika — termasuk alat ini. Ia tak menyembunyikan apa pun dan tak melindungi apa pun. Jika Anda perlu menjaga data tetap rahasia, enkripsikan data itu; Base64 hanya membuat data aman untuk dikirim, dan mengodekan sandi atau kunci API tak menyamarkannya.
Base64 standar vs. aman-URL
Base64 standar memakai + dan / sebagai dua karakter terakhirnya dan mengisi ujungnya dengan tanda =. Karakter itu punya makna khusus di dalam URL dan nama berkas, jadi varian aman-URL menukar + dan / dengan - dan _ serta biasanya membuang padding. Pakai opsi aman-URL ketika nilai terkodekan akan muncul di alamat web, parameter kueri, kuki, atau nama berkas. JSON Web Token, misalnya, memakai Base64 aman-URL persis karena alasan ini.
UTF-8 dan teks non-ASCII
Fungsi bawaan peramban btoa dan atob hanya menangani Latin-1 dan melempar galat pada karakter seperti aksara Ibrani, Arab, Tionghoa, atau emoji. Alat ini mengodekan teks sebagai UTF-8 dulu, jadi karakter apa pun berpulang-pergi dengan benar. Itu berarti שלום dan 😀 dikodekan dan didekode tanpa kerusakan — sumber umum "mojibake" (teks kacau) ketika pengembang meraih fungsi mentah bawaan peramban.
- Kodekan: ketik atau tempel teks terbaca dan dapatkan bentuk Base64-nya.
- Dekode: tempel Base64 (standar atau aman-URL, dengan atau tanpa padding) dan dapatkan teks asli kembali.
Pertanyaan yang sering diajukan
- Apakah Base64 aman atau terenkripsi?
- Tidak. Base64 adalah pengodean yang dapat dibalik, bukan enkripsi. Siapa pun bisa mendekodenya seketika, jadi jangan pernah memakainya untuk melindungi sandi, kunci, atau data pribadi.
- Apakah ia mendukung aksara Ibrani, Arab, dan emoji?
- Ya. Teks dikodekan sebagai UTF-8 sebelum Base64, jadi karakter seperti שלום dan 😀 dikodekan dan didekode tanpa kerusakan, tak seperti fungsi bawaan peramban btoa.
- Apa itu Base64 aman-URL?
- Ia mengganti karakter + dan / dengan - dan _ serta membuang padding di ujung, jadi hasilnya dapat dipakai dengan aman di dalam URL, string kueri, kuki, nama berkas, dan token seperti JWT.
- Mengapa keluaran terdekode saya kosong atau salah?
- Biasanya masukannya bukan Base64 yang valid — ia mungkin terpotong, mengandung karakter dari alfabet berbeda, atau sebenarnya teks polos. Alat ini menerima masukan standar maupun aman-URL dan menoleransi padding yang hilang, tetapi bitanya tetap harus UTF-8 yang valid untuk ditampilkan sebagai teks.
- Mengapa string terkodekan lebih panjang daripada aslinya?
- Base64 mengodekan setiap tiga bita sebagai empat karakter, jadi keluarannya kira-kira sepertiga lebih besar daripada masukan. Beban tambahan ini melekat pada formatnya.
- Apakah saya membutuhkan karakter padding (=)?
- Padding membuat panjangnya kelipatan empat dan disyaratkan oleh pendekode yang ketat, tetapi alat ini menerima masukan dengan atau tanpanya. Base64 aman-URL biasanya menghilangkan padding.
- Apakah masukan saya dikirim ke server?
- Tidak. Pengodean dan pendekodean berjalan sepenuhnya di peramban Anda; tidak ada yang Anda tempel meninggalkan perangkat Anda.
Alat terkait
- Pengode / pendekode URL
Persen-kodekan nilai atau seluruh URL, dan sebaliknya.
- Escape / unescape string JSON
Escape teks untuk string JSON, atau baca yang ter-escape kembali.
- Pengode / pendekode entitas HTML
Escape teks untuk HTML, atau ubah entitas kembali menjadi karakter.
- Generator Data URI
Ubah berkas atau teks menjadi data: URI, dan baca kembali satu.