Mengapa Menggunakan Alat Base64 Biner Ini
- Input biner sejati: membaca byte mentah dari file yang diunggah (tanpa asumsi pengkodean teks)
- Mode enkode: file/byte → string Base64 (siap tempel)
- Mode dekode: string Base64 → byte biner yang dapat Anda unduh sebagai file
- Preset Base64url (RFC 4648 URL-safe) untuk JWT, URL, dan konteks web
- Preset MIME (RFC 2045): pembungkusan opsional pada 76 karakter + CRLF untuk payload seperti email
- Opsi validasi ketat untuk mendeteksi karakter/padding tidak valid saat debugging
- Kontrol padding opsional: Otomatis / Selalu sertakan '=' / Hapus padding
- UX ramah batch: seret beberapa file dan proses dalam satu sesi
- Pemrosesan sisi klien: data Anda tetap di browser Anda
🔧 Cara Enkode/Dekode Biner dengan Base64 for base64-encoder-binary
Pilih aksi
Pilih **Enkode file → Base64** untuk mengonversi byte menjadi string Base64, atau **Dekode Base64 → file** untuk memulihkan byte biner dan mengunduhnya.
Berikan input
Untuk enkode, seret satu atau lebih file ke zona seret. Untuk dekode, tempel string Base64 ke area input (spasi/baris baru diperbolehkan tergantung mode ketat).
Pilih preset format (opsional)
Gunakan **RFC 4648 (Standar)** untuk Base64 klasik, **URL-safe/Base64url** untuk konteks web, atau **RFC 2045 (MIME)** jika Anda memerlukan baris terbungkus (biasanya 76 karakter dengan CRLF).
Unduh atau salin hasilnya
Mode enkode menghasilkan string Base64 yang dapat Anda salin. Mode dekode menghasilkan output biner dan menampilkan permukaan unduhan sehingga Anda dapat menyimpan file yang direkonstruksi.
Spesifikasi Teknis
Standar & Alfabet
Alat ini mendukung alfabet Base64 standar dari RFC 4648, varian URL-safe (Base64url), dan pembungkusan gaya MIME dari RFC 2045.
| Varian | Perbedaan alfabet | Penggunaan umum |
|---|---|---|
| RFC 4648 (Standar) | Menggunakan '+' dan '/' (padding '=' jika diperlukan) | Base64 tujuan umum (API, file, fixture) |
| RFC 4648 (URL-safe / Base64url) | Mengganti '+'→'-' dan '/'→'_' (padding sering dihilangkan) | JWT, URL, token web, parameter query |
| RFC 2045 (MIME) | Alfabet standar + pembungkus baris (biasanya 76 karakter) + CRLF | Transport mirip email, sistem warisan |
Overhead Ukuran (Mengapa Base64 Menjadi Lebih Besar)
Base64 mengkodekan 3 byte menjadi 4 karakter, meningkatkan ukuran sekitar 33% (ditambah jeda baris opsional).
| Byte asli | Output Base64 (perkiraan) | Overhead |
|---|---|---|
| 3 byte | 4 karakter | ~33% |
| 1 KB | ≈ 1,37 KB | ~37% termasuk padding/jeda baris |
| 1 MB | ≈ 1,37 MB | Rasio sama pada skala lebih besar |
Validasi & Perilaku Padding
Padding '=' ada untuk menjaga panjang output Base64 sebagai kelipatan 4 karakter. Dalam konteks URL-safe, padding sering dihilangkan. Mode ketat membantu mendeteksi input yang rusak (karakter ilegal, padding salah, panjang tidak tepat).
| Pengaturan | Efek | Kapan digunakan |
|---|---|---|
| Padding: Otomatis | Mempertahankan padding jika diperlukan (tergantung format) | Default untuk kompatibilitas |
| Padding: Selalu sertakan '=' | Memaksa output berpadded | Interoperabilitas dengan dekoder ketat |
| Padding: Hilangkan | Menghapus '=' di akhir | Base64url / token kompak |
| Validasi ketat | Menolak karakter/pola padding yang tidak valid | Debugging, pengerasan keamanan, kebersihan input |
Batas Praktis di Browser
Konversi biner cepat, tetapi buffer besar dapat memengaruhi memori dan responsivitas. Alat ini dirancang untuk payload kecil hingga menengah yang digunakan dalam alur kerja pengembang.
| Ukuran payload | Pengalaman | Rekomendasi |
|---|---|---|
| Beberapa KB | Instan | Sempurna untuk cuplikan dan fixture |
| 100 KB – 1 MB | Sangat responsif | Khas untuk gambar, PDF, sampel API |
| 1 – 2 MB | Biasanya baik | Zona nyaman atas di dalam browser |
| > 2 MB | Mungkin diblokir atau terasa berat | Lebih disukai CLI / encoder streaming |
Baris Perintah Base64 (File Biner)
Jika Anda memerlukan otomatisasi, integrasi CI, atau dukungan file besar, utilitas baris perintah lebih tangguh.
Linux / 🍏 macOS
Enkode file biner ke Base64
base64 input.bin > output.b64Membaca byte mentah dari input.bin dan menulis teks Base64 ke output.b64.
Dekode Base64 kembali ke file biner
base64 -d output.b64 > restored.binMendekode teks Base64 dan mengembalikan byte asli.
Pembungkusan gaya MIME pada 76 karakter
base64 -w 76 input.bin > output.mime.b64Membungkus baris keluaran untuk meniru pemformatan MIME (GNU coreutils).
Windows
Enkode file dengan certutil (CMD)
certutil -encode input.bin output.b64Mengenkode file biner menjadi file teks Base64 (mungkin menyertakan baris header).
Dekode file Base64 dengan certutil (CMD)
certutil -decode output.b64 restored.binMendekode file yang dienkode Base64 kembali ke biner asli.
Enkode byte dengan PowerShell
[Convert]::ToBase64String([IO.File]::ReadAllBytes('input.bin'))Membaca byte mentah dari disk dan mencetak string Base64.
Aplikasi Praktis (Versi Biner)
Lampiran Email / MIME & Sistem Lawas
Hasilkan payload Base64 yang sesuai dengan ekspektasi sistem seperti email dan sistem lawas.
- Bungkus baris pada 76 karakter untuk transportasi gaya MIME
- Pertahankan padding '=' untuk dekoder yang ketat
- Konversi lampiran biner kecil menjadi string Base64 yang dapat ditempel
Content-Transfer-Encoding: base64(Payload Base64 dibungkus pada 76 karakter)API & Bidang Biner dalam JSON
Transportasikan blob biner melalui bidang atau protokol yang hanya teks.
- Enkode blob biner kecil dan sematkan dalam JSON
- Gunakan Base64url untuk token web atau konteks URL
- Dekode respons Base64 dari API kembali menjadi file asli
{"fileBytes":"AAECAwQFBgcICQ=="}base64url: ganti '+'→'-' dan '/'→'_'Pengujian, Fixture & Laporan Bug yang Dapat Direproduksi
Bagikan sampel biner tanpa mengunggah biner atau berurusan dengan transfer file spesifik OS.
- Konversi PNG/PDF kecil menjadi fixture Base64 untuk pengujian
- Tempel Base64 ke laporan bug (daripada melampirkan file)
- Dekode sampel Base64 yang diberikan untuk mereproduksi masalah secara lokal
// Node.js
const bytes = Buffer.from(base64, 'base64');
require('fs').writeFileSync('sample.bin', bytes);
Aset Kecil & Pipeline Build
Konversi aset biner menjadi Base64 untuk peralatan, pembundelan, atau eksperimen cepat.
- Enkode ikon kecil untuk disematkan dalam peralatan pengembangan
- Buat fixture biner cepat untuk demo
- Enkode→dekode bolak-balik untuk memverifikasi integritas byte yang tepat
data:application/octet-stream;base64,AAECAwQFBgcICQ==❓ Frequently Asked Questions
❓Apa perbedaan antara alat Base64 teks dan versi biner ini?
📦Bisakah saya mendekode Base64 menjadi tipe file asli?
Base64 sendiri tidak menyimpan nama file atau tipe MIME — ia hanya merepresentasikan byte. Setelah dekode, Anda mendapatkan byte asli kembali. Jika Anda mengetahui ekstensi/tipe yang dimaksud, unduh output sesuai (atau gunakan format seperti URI data / pembungkus MIME yang membawa metadata di luar Base64).🔗Kapan saya harus menggunakan Base64url?
JWT, cookie, dan konteks web lainnya. Ini mengganti '+' dengan '-' dan '/' dengan '_', dan banyak ekosistem menghilangkan padding '='.✉️Apa itu pembungkusan MIME dan mengapa 76 karakter?
Base64 dibungkus ke lebar tetap (sering 76 karakter) dengan jeda baris CRLF, seperti yang dijelaskan dalam RFC 2045. Jika Anda menyalin Base64 ke sistem seperti itu, mengaktifkan pembungkusan MIME meningkatkan kompatibilitas.🔒Apakah Base64 aman atau terenkripsi?
Base64 adalah **pengkodean** yang dapat dibalik, bukan enkripsi. Ini membuat biner aman untuk diangkut sebagai teks. Untuk kerahasiaan atau integritas, gunakan kriptografi (misalnya, TLS + enkripsi/tanda tangan) selain pengkodean.📏Mengapa file besar mungkin lambat atau diblokir di browser?
Base64 memperluas ukuran data dan memerlukan buffering byte dalam memori. Browser dapat menjadi berat memori untuk payload besar. Untuk biner besar, encoder baris perintah atau streaming lebih cocok.Pro Tips
Nyalakan **Validasi ketat** saat men-debug payload aneh — ini membantu mendeteksi karakter buruk, padding yang salah, dan panjang yang tidak benar lebih awal.
Jika Anda menargetkan sistem seperti email, gunakan **prasetel MIME** (bungkus 76 + CRLF) alih-alih jeda baris ad-hoc.
Jangan mencatat payload Base64 penuh di produksi. Lebih baik gunakan hash, ukuran, atau awalan yang dipotong untuk menghindari kebocoran konten biner sensitif.
Jika Anda perlu nama file/tipe disimpan, simpan metadata bersama Base64 (misalnya, bidang JSON seperti nama/tipe/ukuran) — Base64 sendiri hanyalah byte.
Additional Resources
Other Tools
- Pemerindah CSS
- Pemerindah HTML
- Pemerindah Javascript
- Pemerindah PHP
- Pemilih Warna
- Ekstraktor Sprite
- Dekoder Base64
- Encoder Base64
- Pemformat Csharp
- Pemformat CSV
- Dockerfile Formatter
- Pemformat Elm
- Pemformat ENV
- Pemformat Go
- Pemformat GraphQL
- Pemformat HCL
- Pemformat INI
- Pemformat JSON
- Pemformat Latex
- Pemformat Markdown
- Pemformat ObjectiveC
- Php Formatter
- Pemformat Proto
- Pemformat Python
- Pemformat Ruby
- Pemformat Rust
- Pemformat Scala
- Pemformat Skrip Shell
- Pemformat SQL
- Pemformat SVG
- Pemformat Swift
- Pemformat TOML
- Typescript Formatter
- Pemformat XML
- Pemformat YAML
- Pemformat Yarn
- Pengecil CSS
- Html Minifier
- Javascript Minifier
- Pengecil JSON
- Pengecil XML
- Penampil Header HTTP
- PDF Ke Teks
- Penguji Regex
- Pemeriksa Peringkat SERP
- Pencarian Whois