Format Base64
Format string Base64 secara online, dukung lebar karakter kustom (64/76/80/100 karakter) dan indentasi (0/2/4 spasi) per baris, cocok untuk membaca string panjang, perbandingan tangkapan layar, dan tata letak dokumen. Hanya mengubah format tampilan, tidak mengubah data encoding Base64 asli.
Rekomendasi Terkait
Apa itu Pemformatan Base64?
Pemformatan Base64 adalah pemisahan string Base64 yang panjang menjadi beberapa baris pada lapisan tampilan dengan lebar karakter yang ditentukan (seperti 64/76/80/100), serta mendukung indentasi 0/2/4 spasi. Hasil pemformatan secara visual lebih mudah dibaca, lebih cocok untuk tangkapan layar, pencetakan, dan tata letak dokumen, tetapi **tidak mengubah konten byte asli** — menghapus semua baris baru dan indentasi akan mengembalikan Base64 satu baris asli.
**Mengapa perlu diformat?** Base64 standar RFC 4648 tidak mewajibkan pemisahan baris, tetapi dalam penggunaan praktis: ①String Base64 yang panjang mudah meluap menyebabkan pengguliran horizontal dalam sistem tiket, alat obrolan, dan dokumen Markdown; ②Protokol MIME (RFC 2045) menetapkan pemisahan baris setiap 76 karakter (untuk lampiran email); ③Tampilan multi-baris saat peninjauan kode lebih mudah menemukan karakter abnormal; ④Tata letak tangkapan layar dokumen memerlukan perataan yang rapi.
**Skenario penggunaan umum:** ①Tata letak dokumen teknis: menyematkan Base64 panjang dalam Markdown / Confluence / Notion; ②Perbandingan tangkapan layar: memudahkan tim melihat string Base64 lengkap dalam tangkapan layar PR / laporan Bug; ③Pemeriksaan manual: menemukan karakter ilegal (seperti campuran baris baru atau spasi) dengan cepat dalam Code Review; ④Lampiran email: memisahkan baris sesuai standar MIME 76 karakter untuk memudahkan transmisi SMTP; ⑤Tampilan log layar lebar: menampilkan multi-baris pada layar pemantauan untuk memudahkan pembacaan.
**Perbedaan dengan MIME Base64:** MIME Base64 (RFC 2045) memisahkan baris secara tetap setiap 76 karakter, yang merupakan persyaratan wajib tingkat protokol. Pemformatan alat ini lebih fleksibel, mendukung berbagai lebar karakter 64/76/80/100 + indentasi 0/2/4 spasi, cocok untuk berbagai skenario dokumen. Pemisahan baris MIME dapat direproduksi dengan memilih lebar 76 karakter.
**Keamanan pemformatan:** Alat ini hanya menyisipkan karakter baris baru dan indentasi pada lapisan tampilan, **tidak pernah mengubah konten byte Base64 asli**. Hasil pemformatan dapat dikembalikan menjadi string Base64 asli yang identik setelah menghapus semua karakter whitespace. Sebagian besar dekoder Base64 akan mengabaikan karakter whitespace secara otomatis saat decoding, sehingga hasil pemformatan dapat langsung digunakan untuk decoding.
Kasus penggunaan
- Bagi string Base64 sangat panjang per baris dengan lebar tetap agar mudah dibaca
- Format Base64 untuk tampilan dokumen atau perbandingan tangkapan layar
- Optimasi tata letak Base64 untuk pencetakan atau catatan tiket
- Kombinasikan dengan alat pemisah dan penggabungan untuk penyesuaian struktur Base64
- Memisahkan baris Base64 sesuai standar MIME (76 karakter) untuk lampiran email
- Tampilan multi-baris Base64 saat peninjauan kode untuk memudahkan menemukan karakter abnormal
- Menyematkan Base64 ke dalam Markdown dengan indentasi 4 spasi untuk menjaga gaya kode
- Tampilan log layar lebar: menampilkan payload Base64 panjang secara multi-baris dalam sistem pemantauan
Cara Penggunaan
- Tempelkan string Base64 yang perlu diformat (bisa dengan atau tanpa baris baru)
- Pilih lebar karakter per baris: 64 / 76 / 80 / 100
- Pilih indentasi: 0 / 2 / 4 spasi
- Alat secara real-time memformat dan menampilkan sesuai lebar dan indentasi yang ditentukan
- Salin hasil pemformatan untuk dokumen, atau klik pulihkan untuk menghapus baris baru
Fitur
- Tampilan string panjang per baris: cocok untuk mengatur Base64 panjang dengan lebar tetap menjadi format yang lebih mudah dibaca
- Ramah pemeriksaan manual: digunakan untuk perbandingan tangkapan layar, catatan tiket, tata letak cetak, dan perapihan dokumen
- Konten tidak diubah: hanya menyesuaikan tampilan, tidak mengubah data encoding Base64 asli
- Dapat dikombinasikan dengan alat lain: cocok digunakan bersama alat pemisah, penggabungan, verifikasi, dan perbandingan
- Lebar karakter kustom: mendukung 64 / 76 / 80 / 100 karakter per baris, fleksibel menyesuaikan berbagai kebutuhan tata letak
- Indentasi dapat dikonfigurasi: mendukung indentasi 0 / 2 / 4 spasi, memudahkan perataan dalam blok kode atau Markdown
- Statistik karakter dan jumlah baris: menampilkan jumlah karakter input dan total baris output secara real-time
- Pemrosesan lokal di browser tanpa unggahan: semua pemformatan selesai di dalam browser, tidak melalui server mana pun
Contoh Kode
JavaScript: Implementasi Manual Pemformatan Base64 (Memahami Prinsip)
javascriptMemahami logika dasar pemformatan Base64 — membagi berdasarkan lebar karakter dan menyisipkan karakter baris baru.
// Fungsi pemformatan Base64 (sesuai dengan logika alat ini)
function formatBase64(input, lineLength = 76, indent = 0) {
// 1. Hapus semua karakter whitespace
const clean = input.replace(/\s/g, '');
if (!clean) return '';
// 2. Bagi sesuai lebar yang ditentukan
const lines = [];
for (let i = 0; i < clean.length; i += lineLength) {
const line = clean.slice(i, i + lineLength);
lines.push(' '.repeat(indent) + line);
}
// 3. Gabungkan dengan karakter baris baru
return lines.join('\n');
}
// Contoh penggunaan
const b64 = 'a'.repeat(200);
console.log(formatBase64(b64, 76, 0));
// Output: Base64 dengan 76 karakter per baris
// Pembatalan format (untuk decoding atau transmisi)
function unformatBase64(input) {
return input.replace(/\s/g, '');
}
console.log(unformatBase64(formatBase64(b64, 76, 0)).length); // 200Python: Pemformatan Base64 + Pemisahan Baris MIME
pythonImplementasi Python untuk memisahkan baris setiap 76 karakter (standar MIME) dan dapat menentukan indentasi.
import textwrap
def format_base64(b64_str: str, width: int = 76, indent: int = 0) -> str:
"""Format string Base64 menjadi multi-baris"""
# Hapus semua whitespace
clean = ''.join(b64_str.split())
if not clean:
return ''
# Gunakan textwrap untuk membagi sesuai lebar
lines = textwrap.wrap(clean, width=width)
# Tambahkan indentasi
if indent > 0:
lines = [' ' * indent + line for line in lines]
return '\n'.join(lines)
# Contoh penggunaan
b64 = 'aGVsbG8gd29ybGQ=' * 10
print(format_base64(b64, 76, 0))
# Mereproduksi MIME Base64 (RFC 2045)
mime_format = format_base64(b64, 76)
print(f'Jumlah baris MIME Base64: {len(mime_format.splitlines())}')
# Kembalikan ke satu baris
single_line = b64.replace('\n', '').replace(' ', '')
print(f'Panjang satu baris: {len(single_line)}')Command Line: Alat fold + Pemisahan Baris MIME Base64
bashAlat fold bawaan sistem Linux/macOS dapat dengan cepat mengimplementasikan pemformatan Base64 di command line.
# 1. Input Base64 → pisahkan baris setiap 76 karakter (standar MIME)
echo "aGVsbG8gd29ybGQ=" | base64 | base64 | fold -w 76
# 2. Format file Base64 panjang → output ke file baru
fold -w 76 encoded.txt > formatted.txt
# 3. Pisahkan baris setiap 64 karakter (tampilan padat)
fold -w 64 encoded.txt > compact.txt
# 4. Sekaligus hapus semua baris baru (pembatalan format)
tr -d '\n' < formatted.txt > single-line.txt
# 5. Verifikasi: panjang Base64 + jumlah baris
wc -c encoded.txt | awk '{print "Jumlah karakter:", $1}'
wc -l formatted.txt | awk '{print "Jumlah baris:", $1}'
# 6. Gabungkan openssl untuk encoding base64 lengkap + pemformatan
echo "Hello Dunia" | openssl base64 -A | fold -w 76 > hello.b64.txt
cat hello.b64.txtPertanyaan Umum
Mengapa perlu memformat Base64?
String Base64 panjang tidak nyaman dibaca, ditangkap layar, atau dicetak. Setelah dibagi per baris dengan lebar tetap, lebih cocok untuk pemeriksaan manual, tampilan dokumen, dan analisis perbandingan.
Apakah pemformatan mengubah konten Base64 asli?
Tidak. Hanya menyesuaikan cara tampilan, tidak mengubah encoding itu sendiri, cocok digunakan pada tahap pemeriksaan dan perapihan. Hapus semua karakter whitespace dari hasil pemformatan untuk mengembalikan Base64 satu baris asli. Semua dekoder Base64 (atob bawaan browser / Node.js Buffer / Python base64) akan mengabaikan karakter whitespace secara otomatis, sehingga hasil pemformatan dapat langsung digunakan untuk decoding.
Apakah cocok untuk pemeriksaan log dan perbandingan tangkapan layar?
Sangat cocok. Terutama ketika perlu memasukkan string panjang ke dokumen, tiket, atau catatan obrolan, tampilan per baris akan lebih jelas. String Base64 panjang mudah meluap menyebabkan pengguliran horizontal dalam sistem tiket (Jira / Zendesk), alat obrolan (Slack / Teams), atau dokumen Markdown. Setelah diformat, tampilan multi-baris jelas dan mudah dibaca, dapat langsung ditempelkan ke lampiran tiket atau jendela obrolan.
Bisa digunakan bersama alat pemisah dan penggabungan multi baris?
Bisa. Pemformatan lebih cenderung pada optimalisasi tampilan, sedangkan pemisahan dan penggabungan lebih pada penyesuaian struktur, keduanya cocok digunakan bersama.
Apa perbedaan antara pemformatan Base64 dan MIME Base64?
MIME Base64 secara ketat memisahkan baris dengan lebar 76 karakter sesuai RFC 2045, yang merupakan standar transmisi lampiran email. Pemformatan alat ini lebih fleksibel, memungkinkan lebar karakter kustom 64/76/80/100 + indentasi 0/2/4 spasi, lebih cocok untuk berbagai kebutuhan tampilan seperti dokumen dan tangkapan layar. Pilih lebar 76 karakter untuk mereproduksi pemisahan baris MIME.
Mengapa ada berbagai lebar karakter 64 / 76 / 80 / 100?
64 karakter cocok untuk dokumen padat (seperti terminal CLI, tabel Markdown); 76 karakter adalah standar email MIME; 80 karakter adalah lebar terminal tradisional; 100 karakter cocok untuk editor layar lebar dan dokumen modern. Setiap lebar memiliki skenario penggunaan terbaik yang sesuai.
Apa kegunaan indentasi?
Indentasi (0/2/4 spasi) membuat Base64 tetap rata dalam blok kode atau Markdown: 0 spasi cocok untuk teks biasa, 2 spasi cocok untuk gaya kode JS/Python, 4 spasi cocok untuk blok kode bersarang Markdown.
Apakah pemformatan menambah jumlah karakter Base64?
Akan bertambah sekitar 1-3% (karakter baris baru + spasi indentasi), tetapi tidak memengaruhi hasil decoding. Jika transmisi sensitif terhadap ukuran (seperti parameter URL), disarankan untuk menggunakan fungsi "pulihkan" terlebih dahulu untuk mengembalikan ke satu baris.
Mendukung UTF-8 / bahasa Indonesia?
Alat ini tidak langsung memproses set karakter — hanya memformat string Base64 itu sendiri. Jika Base64 berisi bahasa Indonesia (seperti Base64 yang dikodekan setelah encoding UTF-8), pemformatan tidak akan memengaruhi kebenaran encoding-nya.
Apakah ukuran setelah diformat menjadi lebih besar, dapat dikompresi?
Yang ditambahkan pemformatan hanyalah baris baru dan indentasi, yang ramah terhadap algoritma kompresi. Dapat dikompresi dengan gzip / Brotli, atau gunakan alat Base64 Stats untuk melihat penambahan spesifik.
Pemecahan Masalah
Beberapa karakter Base64 hilang setelah diformat
Mungkin Base64 sumber mengandung karakter ilegal (seperti karakter baris baru yang tidak ditangani dengan benar). Gunakan alat Base64 Clean untuk membersihkan terlebih dahulu sebelum memformat.
Hasil pemformatan tidak konsisten dengan byte asli
Ini tidak mungkin — pemformatan hanya menyisipkan karakter whitespace, tidak mengubah konten byte. Jika ditemukan ketidakkonsistenan, berarti Base64 sumber telah ditangani dengan salah (seperti pemformatan berulang yang menyebabkan penyisipan whitespace berulang).
Antarmuka lambat setelah memformat string panjang
String Base64 yang melebihi 10MB dapat menyebabkan browser menjadi lambat. Saran: ①proses secara bertahap; ②gunakan base64-clean terlebih dahulu untuk menghapus whitespace berlebih; ③kurangi lebar (seperti 64 karakter) untuk mengurangi beban rendering per baris.
Glosarium
- Pemformatan Base64
- Memisahkan string Base64 menjadi beberapa baris dengan lebar yang ditentukan pada lapisan tampilan, hanya memengaruhi presentasi visual, tidak mengubah encoding itu sendiri.
- MIME Base64
- Varian Base64 dengan pemisahan baris setiap 76 karakter yang ditetapkan RFC 2045, terutama digunakan untuk transmisi lampiran email.
- Lebar karakter (line length)
- Jumlah karakter Base64 yang ditampilkan per baris. Nilai umum: 64 (padat), 76 (standar MIME), 80 (cetak standar), 100 (layar lebar).
- Indentasi (indent)
- Jumlah spasi di awal setiap baris, nilai umum: 0 (tanpa indentasi), 2 (gaya kode), 4 (blok kode Markdown).
- Karakter whitespace (whitespace)
- Spasi, Tab, karakter baris baru, dll. yang mungkin ada dalam string Base64. Pemformatan akan menghapus karakter-karakter ini terlebih dahulu, lalu menyisipkan ulang sesuai lebar yang ditentukan.
- Pembatalan format (unformat)
- Mengembalikan Base64 yang telah diformat (multi-baris + indentasi) menjadi bentuk satu baris tanpa whitespace, untuk decoding atau transmisi.
Tabel Perbandingan 4 Lebar Karakter
Lebar karakter yang berbeda cocok untuk skenario tampilan yang berbeda, dapat dipilih sesuai lingkungan target.
| Lebar Karakter | Skenario Khas | Standar Terkait | Contoh |
|---|---|---|---|
64 karakter | Terminal CLI, tabel Markdown | Tampilan padat | Layar kecil / kepadatan tinggi |
76 karakter | Transmisi lampiran email | RFC 2045 MIME | Email / SMTP |
80 karakter | Pencetakan terminal tradisional | Terminal Unix tradisional | Pencetakan dokumen |
100 karakter | Editor modern / layar lebar | Spesifikasi UI modern | IDE / dokumen |
Tabel Perbandingan 3 Gaya Indentasi
Gaya indentasi yang berbeda cocok dengan standar kode yang berbeda, pilih sesuai kebiasaan tim/proyek.
| Indentasi | Gaya Kode | Contoh (Baris pertama Base64) |
|---|---|---|
0 spasi | Tanpa indentasi (teks biasa) | QUJD... |
2 spasi | Standar JS / Python | QUJD... |
4 spasi | Bersarang Markdown / standar Java | QUJD... |
Authoritative References
- Perbandingan Teks Aman
- Konversi Biner
- Sandi Caesar
- Kode Morse
- Konversi Hexadesimal
- Video ke Base64
- Base64 ke Video
- Gambar ke Base64
- Base64 ke Gambar
- Teks ke Base64
- Base64 ke Teks
- Pemeriksa hash file
- File ke Base64
- Base64 ke File
- Audio ke Base64
- Base64 ke Audio
- Enkripsi dan Dekripsi AES
- Enkripsi & Dekripsi DES
- Encoder Decoder Base32
- Base58 pengkodean dan penguraian kode
- Encode Base64
- Dekode Base64
- Bandingkan Base64
- Pisahkan Base64
- Penggabungan Base64 multi-baris
- Format Base64
- Validasi Format Base64
- Pengkodean Base64 Massal
- Decode Base64 Massal
- Pembersihan Base64
- Pemrosesan Padding Base64
- Statistik Panjang Base64
- Base64 ke Hex
- Konverter Base64 DataURL
- Konverter Base64-Hex
- Encoder & Decoder Base85
- Generator & Verifikasi HMAC
- PBKDF2 Generator
- Hash MD5
- Hash SHA-256
- Hash SHA1
- Hash SHA512
- Decode JWT
- Encoding & Decoding Entitas HTML
- Unicode Escape
- Enkode URL
- URL Safe Base64
- MIME Base64
- Obfuscasi Java
- Obfuscasi JS
- Obfuscasi PHP
- Python Obfuscator