Apa itu Base64?
Base64 adalah skema enkoding yang mengubah data biner atau teks menjadi string 64 karakter ASCII yang dapat dicetak. Banyak digunakan untuk lampiran email, penyematan gambar dalam HTML/CSS, dan transmisi data biner melalui saluran teks saja. Dekoding membalikkan prosesnya.
Bagaimana cara mengenkode teks ke Base64?
Untuk mengenkode teks ke Base64, ambil byte mentah dari teks, kelompokkan menjadi set 3, dan petakan setiap kelompok 3-byte (24-bit) ke empat karakter dari alfabet Base64 64-karakter; kelompok akhir yang pendek diberi padding dengan =. Contoh: "hello" dienkode menjadi "aGVsbG8=" dan mendekode "aGVsbG8=" mengembalikan "hello".
Langkah mengenkode dan mendekode Base64
- Konversi teks input menjadi byte mentah menggunakan pengkodean UTF-8.
- Kelompokkan byte menjadi set 3 (total 24 bit) dari kiri ke kanan.
- Bagi setiap kelompok 24-bit menjadi empat bagian 6-bit (nilai 0-63).
- Petakan setiap bagian 6-bit ke satu karakter dalam alfabet Base64 A-Z, a-z, 0-9, +, /.
- Jika kelompok terakhir memiliki kurang dari 3 byte, beri padding pada output dengan karakter = sehingga total panjangnya kelipatan 4; untuk mendekode, balikkan setiap langkah untuk memulihkan byte asli.
Aturan pengkodean Base64
3 byte (24 bit) -> 4 karakter Base64 (masing-masing 6 bit), diberi padding = hingga kelipatan 4
- Alfabet Base64 = A-Z, a-z, 0-9, +, / — 64 karakter yang dapat dicetak, masing-masing mewakili nilai dari 0 sampai 63
- Karakter padding = mengisi kelompok akhir yang tidak lengkap sehingga panjang output yang dienkode selalu kelipatan 4
Contoh konversi teks ke Base64
| Teks | Base64 |
|---|
| a | YQ== |
| ab | YWI= |
| abc | YWJj |
| hello | aGVsbG8= |
| Hello, World! | SGVsbG8sIFdvcmxkIQ== |
Pertanyaan yang sering diajukan
Apakah pengkodean Base64 sama dengan enkripsi?
Tidak. Base64 tidak memiliki kunci rahasia — siapa pun dapat mendekodenya kembali ke teks asli menggunakan alfabet publik dan standar yang sama. Ini hanya mengubah cara data direpresentasikan untuk transmisi yang aman melalui sistem berbasis teks saja; tidak memberikan kerahasiaan dan tidak boleh digunakan untuk melindungi data sensitif.
Mengapa output yang dienkode terkadang berakhir dengan = atau ==?
Karakter = adalah padding. Base64 selalu mengonversi kelompok 3 byte input menjadi 4 karakter output; jika panjang input bukan kelipatan 3, kelompok terakhir diberi padding satu atau dua tanda = sehingga total panjang output tetap kelipatan 4.
Mengapa output Base64 lebih panjang dari teks aslinya?
Setiap 3 byte input menjadi 4 karakter output, sehingga teks yang dienkode kira-kira 33% lebih besar dari aslinya. Overhead ini adalah kompromi untuk merepresentasikan data biner apa pun hanya menggunakan karakter ASCII yang aman dan dapat dicetak.
Bisakah Base64 mengenkode semua jenis data, bukan hanya teks?
Ya. Base64 beroperasi pada byte mentah, sehingga dapat mengenkode gambar, audio, atau file biner apa pun, bukan hanya teks. Alat ini menerima input teks dan mengenkode representasi byte UTF-8-nya; mengenkode file biner apa pun membutuhkan alat yang membaca byte file secara langsung.
Alat ini mengenkode dan mendekode teks UTF-8 sepenuhnya di browser Anda; tidak menerima unggahan file biner secara langsung, dan mendekode teks yang bukan Base64 valid akan menampilkan error alih-alih output sebagian atau rusak.
Sources: RFC 4648 - The Base16, Base32, and Base64 Data Encodings
Privasi dan keamanan
- Dihitung di peramban — Semua yang Anda ketik dihitung di perangkat Anda sendiri dan tidak dikirim ke server utilduck.
- Koneksi terenkripsi — Semua halaman disajikan melalui HTTPS sehingga isinya tidak dapat dibaca di jaringan.
- Tidak dibagikan ke pihak ketiga — Masukan Anda tidak diteruskan ke layanan analitik maupun periklanan.
- Tidak disimpan — Hasil tidak disimpan di server mana pun dan tidak perlu membuat akun.
Terakhir diperbarui: 2026-08-17