Base64
Ubah teks ke dan dari Base64, termasuk varian aman-URL.
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 dengan senang hati meneruskan teks Base64 tanpa perubahan. Mengodekan ke Base64 membuat data biner aman untuk disematkan di kanal hanya-teks itu.
Imbangannya adalah ukuran: Base64 merepresentasikan setiap tiga bita sebagai empat karakter, jadi bentuk terkodekan sekitar 33% lebih besar daripada aslinya. Itu tak apa untuk payload kecil seperti token, gambar kecil, atau kunci, dan menjadi alasan berkas besar jarang dikodekan 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, enkripsi ia; Base64 hanya membuat data aman-transport, dan mengodekan sebuah 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 sebuah 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 browser 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 browser mentah.
- 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 browser 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. Overhead 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 browser Anda; tidak ada yang Anda tempel meninggalkan perangkat Anda.