πŸ”§ Pengkode Biner Base64 β€” enkode file/byte ke Base64 (dengan opsi Base64url + MIME)

Pemrosesan 100% sisi klien (tanpa unggah server). Enkode file/byte biner ke Base64 dengan preset format (RFC 4648, Base64url, pembungkusan MIME), kontrol padding, validasi ketat, dan dukungan multi-file batch. Juga mendukung dekode Base64 kembali ke file yang dapat diunduh.

Loading…

Tentang Enkode/Dekode Base64 (Biner)

Alat ini terutama untuk mengkodekan file biner (byte) menjadi teks Base64 untuk transportasi (JSON, log, email, konfigurasi). Ini juga menyertakan aksi dekode saat Anda perlu mengubah Base64 kembali menjadi file biner yang dapat diunduh. Semua berjalan secara lokal di peramban Anda (tanpa unggah), dengan opsi jelas untuk Base64 vs Base64url vs pembungkusan MIME, perilaku padding, dan validasi ketat.

Fitur

  • Unggah atau seret-dan-lepas file biner (dukungan batch multi-file)
  • Dua aksi: enkode file β†’ Base64, atau dekode Base64 β†’ unduh file
  • Preset format: RFC 4648 (standar), RFC 4648 URL-safe (Base64url), RFC 2045 MIME (bungkus 76 + CRLF)
  • Kontrol padding: Otomatis, Selalu sertakan "=", atau Hapus padding
  • Panjang pembungkusan baris opsional untuk keluaran terenkode (0 menonaktifkan; MIME umumnya menggunakan 76)
  • Mode validasi ketat untuk menolak karakter/padding tidak valid (berguna untuk debugging)
  • Baris baru akhir opsional pada keluaran Base64 (mode enkode)
  • Pemrosesan 100% sisi klien (tanpa unggah server).

Cara menggunakan for base64-binary-encoder

1

Letakkan satu atau lebih file (atau tempel Base64 untuk dekode)

Untuk enkode, seret-dan-lepas file biner Anda ke area unggah. Untuk dekode, tempel string Base64 yang Anda terima (misalnya dari JSON, log, atau email).

2

Pilih aksi/mode dan jalankan

Pilih "Aksi": "Enkode file β†’ Base64" atau "Dekode Base64 β†’ file", lalu klik tombol Jalankan yang sesuai (Enkode/Dekode). Jika perlu, pilih preset "Format" (standar/Base64url/MIME), sesuaikan padding dan pembungkusan, dan aktifkan "Validasi ketat" saat debugging Base64 yang rusak.

3

Salin keluaran Base64 atau unduh file yang didekode

Setelah enkode, salin teks Base64 (opsional dibungkus/diakhiri baris baru berdasarkan pengaturan Anda). Setelah dekode, unduh file biner yang direkonstruksi (penamaan file mengikuti aturan alat jika memungkinkan).

Spesifikasi teknis

Model Eksekusi

Pengungkapan runtime, batasan, dan apa yang terjadi pada data Anda.

AspekDetail
ModePemrosesan 100% sisi klien (tanpa unggah server).
Cakupan aksiEnkode biner β†’ Base64 (utama), ditambah Dekode Base64 β†’ unduh biner
InputEnkode: File/Blob/Uint8Array/ArrayBuffer/TypedArray. Dekode: String Base64
KeluaranEnkode: Teks Base64. Dekode: byte sebagai file yang dapat diunduh
Batas~1–2MB karakter; ~25000 ms batas waktu
RetensiSemua pemrosesan terjadi secara lokal di browser Anda (tidak ada unggahan)
Untuk data yang sangat sensitif (rahasia, kunci, file teregulasi), utamakan alat offline/lokal dan hindari menyalin rahasia ke halaman web mana pun.

Contoh Mini

Urutan byte kecil yang dienkode ke Base64 (standar RFC 4648).

ItemNilai
Byte masukan (heksadesimal)00 01 02 03 04 05 06 07 08 09
Keluaran Base64AAECAwQFBgcICQ==
Saat keluaran berbedaBase64url mengubah "+"/"/" menjadi "-"/"_"; padding mungkin dihilangkan; MIME dapat membungkus baris
Enkoding bersifat deterministik: byte yang sama + opsi yang sama β†’ keluaran Base64 yang sama.

Kesalahan & Kasus Tepi

Mode kegagalan umum dan langkah selanjutnya.

GejalaKemungkinan penyebabYang harus diperiksa
Masukan harus berupa string untuk dekodeAnda mencoba mendekode tetapi memberikan byte/file alih-alih teks Base64Atur Aksi ke "Enkode" untuk file; untuk Dekode, tempelkan string Base64
Alat ini mengenkode data biner... bukan string teksAnda mencoba mengenkode dengan menempelkan teks ke enkoder binerUnggah file (atau berikan byte) untuk Enkode; gunakan alat Base64 teks untuk alur kerja teks murni
Karakter tidak valid / kegagalan validasi ketatBase64 mengandung karakter yang tidak diizinkan oleh format yang dipilih, atau padding yang burukKonfirmasi "Format" (standar vs Base64url vs MIME) dan "Padding"; nonaktifkan Ketat untuk menerima masukan yang lebih longgar
Kesalahan panjang/padding (terutama saat Ketat diaktifkan)Base64 terpotong, padding "=" yang salah, atau alfabet campuranSalin ulang payload lengkap; pastikan Anda tidak kehilangan "=" di akhir, atau atur Padding ke "Otomatis"
Masukan terlalu besar (maks 2MB)Payload melebihi batas keamanan alatPisahkan file/payload atau gunakan CLI/skrip lokal untuk data yang lebih besar
Panggilan adaptor melebihi batas waktuPemrosesan melebihi batas waktu ~25 detik (tergantung ukuran/perangkat)Coba input yang lebih kecil, nonaktifkan Pratinjau Langsung, atau beralih ke alat baris perintah lokal

Alternatif baris perintah

Untuk file besar, rahasia, atau penggunaan CI, jalankan pengkodean/dekode Base64 secara lokal. Di bawah ini adalah opsi kanonik yang tersedia secara luas.

Linux/macOS (coreutils)

Enkode file ke Base64 (tanpa pembungkus)

base64 -w 0 input.bin > output.b64.txt

Mengenkode input.bin ke Base64. Bendera -w 0 menonaktifkan pembungkusan baris (GNU coreutils).

Enkode file ke Base64 gaya MIME dengan pembungkus (76 karakter/baris)

base64 -w 76 input.bin > output.mime.b64.txt

Sesuai dengan panjang baris MIME umum. (Akhir baris mungkin berbeda dari CRLF tergantung platform.)

Dekode Base64 kembali ke file

base64 -d input.b64.txt > output.bin

Mendekode teks Base64 menjadi byte mentah.

macOS (BSD base64) / Unix

Enkode file ke Base64

base64 < input.bin > output.b64.txt

BSD base64 menggunakan bendera yang berbeda dari GNU; bentuk ini bekerja secara luas.

Dekode Base64 kembali ke file

base64 -D < input.b64.txt > output.bin

Di macOS/BSD, dekode biasanya menggunakan -D (bukan -d).

OpenSSL (portabel)

Enkode file ke Base64 (satu baris)

openssl base64 -A -in input.bin -out output.b64.txt

Bendera -A menghasilkan satu baris (tanpa pembungkus).

Dekode Base64 kembali ke byte

openssl base64 -d -in input.b64.txt -out output.bin

Berguna saat coreutils base64 tidak tersedia.

Node.js

Enkode file ke Base64

node -e "const fs=require('fs'); const b=fs.readFileSync('input.bin'); process.stdout.write(b.toString('base64'))" > output.b64.txt

Membaca byte dan mencetak Base64.

Dekode Base64 ke file

node -e "const fs=require('fs'); const s=fs.readFileSync('input.b64.txt','utf8').trim(); fs.writeFileSync('output.bin', Buffer.from(s,'base64'))"

Mendekode teks Base64 menjadi byte mentah.

Python

Enkode file ke Base64

python -c "import base64,sys; sys.stdout.write(base64.b64encode(open('input.bin','rb').read()).decode('ascii'))" > output.b64.txt

Mengenkode byte file ke ASCII Base64.

Dekode Base64 kembali ke file

python -c "import base64; open('output.bin','wb').write(base64.b64decode(open('input.b64.txt','rb').read()))"

Mendekode Base64 menjadi byte mentah.

Kasus penggunaan

Sematkan data biner ke dalam saluran teks

  • Lampirkan biner kecil di dalam payload JSON
  • Tempelkan file ke pelacak masalah atau dokumen sebagai Base64
  • Kirim byte melalui sistem yang hanya menerima teks

Debug Base64 yang dihasilkan oleh sistem lain

  • Beralih antara preset standar/Base64url/MIME untuk mencocokkan produsen
  • Aktifkan validasi Ketat untuk menangkap kesalahan padding/alfabet
  • Gunakan decode untuk memastikan payload merekonstruksi file asli

Pemeriksaan pipeline di CI untuk artefak kecil

  • Verifikasi artefak dapat didekode tanpa error sebelum dipublikasikan
  • Normalisasi output Base64 (wrapping/padding) untuk diff yang stabil

Berbagi cuplikan biner non-rahasia yang lebih aman

  • Bagikan fixture tes yang dapat direproduksi tanpa mengirim biner mentah via email
  • Jauhkan rahasia dari alat browser; gunakan CLI lokal untuk kunci/token

❓ Frequently Asked Questions

Apakah ada API publik untuk alat ini?

Tidak. Halaman ini adalah alat dalam browser dan tidak mengekspos endpoint API publik.

Apakah pemrosesan bersifat lokal atau jarak jauh?

Pemrosesan 100% sisi klien (tanpa unggah server). Data file/Base64 diproses secara lokal di browser Anda.

Bisakah saya mengodekan rahasia (kunci, token, kata sandi) dengan aman di sini?

Hindari. Meskipun pemrosesan bersifat lokal, rahasia dapat bocor melalui riwayat clipboard, tangkapan layar, ekstensi, atau perangkat bersama. Untuk rahasia, gunakan alat command-line lokal sebagai gantinya.

Mengapa dekode gagal dengan "karakter tidak valid" atau "padding buruk"?

Kebanyakan kegagalan dekode berasal dari format yang tidak cocok (standar vs Base64url vs MIME-wrapped), input terpotong, atau padding yang salah. Coba pilih preset "Format" yang benar, atur Padding ke "Auto", dan nonaktifkan sementara "Validasi Ketat" untuk melihat apakah input hanya sedikit tidak sesuai.

Mengapa saya tidak bisa mengodekan dengan menempelkan teks langsung?

Ini adalah varian biner (file/byte). Encode mengharapkan byte (File/Blob/Uint8Array/ArrayBuffer). Jika input Anda adalah teks biasa, gunakan pengkode Base64 teks agar pengkodean teks-ke-byte menjadi eksplisit.

Pro Tips

Best Practice

Jika Anda membutuhkan token yang aman untuk URL, pilih preset Base64url; ini menggantikan "+"/"/" dengan "-"/"_" dan sering menghilangkan padding tergantung pada pengaturan Anda.

Best Practice

Saat men-debug decode yang gagal, aktifkan validasi Ketat untuk mendapatkan kegagalan yang lebih awal dan jelas, lalu kendurkan setelah Anda mengidentifikasi keanehan dari produsen.

CI Tip

Untuk diff yang stabil di CI, standarisasi pembungkusan dan baris baru akhir agar output Base64 Anda tidak berubah antar lingkungan.

Best Practice

Untuk file besar atau apa pun yang sensitif, lebih baik gunakan alat CLI lokal; ini menghindari batasan browser dan mengurangi kebocoran tidak sengaja melalui clipboard atau ekstensi.

Additional Resources

Other Tools