ByteCompress

Encoder Base64

Konversi teks biasa atau string biner ke output yang dikodekan Base64. Mendukung alfabet standar dan aman URL sesuai RFC 4648, serta menangani UTF-8 penuh termasuk emoji dan skrip non-Latin.

0 chars
FreeClient-sideNo signup

Base64 menambah sekitar 33% pada ukuran data. Pertukaran itu ada karena data biner perlu bertahan di saluran hanya teks seperti header email, payload JSON, dan header Otorisasi HTTP. Didefinisikan dalam RFC 4648, Base64 menggunakan alfabet 64 karakter: A-Z, a-z, 0-9, ditambah + dan / (atau - dan _ dalam mode aman URL). Encoder berbasis browser ini memproses input Anda sepenuhnya di perangkat Anda menggunakan btoa() dan TextEncoder APIs yang sudah ada. String pribadi, token, dan kredensial tidak pernah dikirim ke server mana pun.

Cara Mengkodekan ke Base64

  1. Ketik atau tempel teks yang ingin Anda kodekan ke dalam kolom input.
  2. Pilih mode pengkodean Standar atau Aman URL.
  3. Output Base64 yang dikodekan muncul secara instan di panel output.
  4. Klik Salin untuk menyalin hasil ke clipboard Anda.

Bagaimana Cara Kerja Pengkodean Base64

Alfabet 64 Karakter

Base64 menggunakan alfabet 64 karakter: A-Z (26), a-z (26), 0-9 (10), dan dua karakter tambahan. Base64 standar (RFC 4648 §4) menggunakan + dan /. Base64 aman URL (RFC 4648 §5) mengganti itu dengan - dan _. Pengkodean mengambil tiga byte input (24 bit), membaginya menjadi empat kelompok 6-bit, dan memetakan setiap nilai 6-bit ke karakter alfabet yang sesuai. Inilah sebabnya panjang output Base64 selalu merupakan kelipatan 4.

Padding

Karena Base64 memproses data dalam kelompok 3-byte, panjang input yang bukan kelipatan 3 memerlukan padding. Satu byte sisa menghasilkan == di akhir. Dua byte sisa menghasilkan =. Padding diperlukan dalam Base64 standar tetapi sering dihapus dalam implementasi aman URL, terutama JWT.

Contoh

Input

Halo, Dunia!

Output (Base64 Standar)

SGFsbG8sIER1bmlhIQ==

Dua karakter padding = muncul karena "Halo, Dunia!" adalah 13 byte - 13 mod 3 = 1, jadi satu byte tersisa di kelompok terakhir.

Kasus Penggunaan Umum

  • Otentikasi Dasar HTTP - header Authorization: Basic memerlukan username:password yang dikodekan dalam Base64
  • Gambar inline di HTML/CSS - Data URIs: data:image/png;base64,iVBORw0KGgo...
  • Token JWT - Bagian header dan payload menggunakan Base64 aman URL
  • Lampiran Email - MIME (RFC 2045) menggunakan Base64 untuk mengkodekan lampiran biner dalam protokol email berbasis teks

Base64 Standar vs Aman URL

Base64 standar menggunakan + dan /, yang memiliki makna khusus dalam URL. Base64 aman URL mengganti mereka dengan - dan _, membuat output aman dalam URL, nama file, dan parameter kueri tanpa pengkodean persen. Gunakan mode aman URL untuk JWT, token OAuth, dan data Base64 yang muncul dalam URL. Untuk mendekode output, gunakan Decoder Base64. Untuk menyematkan data yang dikodekan dalam parameter kueri URL, gabungkan alat ini dengan Encoder URL.

Pertanyaan Umum

Apakah Base64 merupakan bentuk enkripsi?

Tidak. Base64 adalah skema pengkodean, bukan enkripsi atau bentuk keamanan lainnya. Siapa pun yang memiliki string Base64 dapat mendekodekannya dengan cepat tanpa kunci. Ini tidak memberikan kerahasiaan. Gunakan AES-256 atau RSA jika Anda perlu melindungi data - Base64 digunakan untuk transportasi aman data biner di saluran teks, bukan untuk menyembunyikan informasi.

Mengapa output Base64 selalu diakhiri dengan == atau =?

Base64 mengkodekan data dalam kelompok 3 byte menjadi 4 karakter. Ketika panjang input tidak dapat dibagi 3, kelompok terakhir memiliki 1 atau 2 byte sebagai pengganti 3. Satu byte sisa menghasilkan == padding; dua byte sisa menghasilkan =. Padding memastikan panjang output selalu merupakan kelipatan 4, seperti yang diharuskan oleh RFC 4648.

Apakah encoder ini menangani Unicode dan emoji dengan benar?

Ya. Encoder pertama-tama mengonversi teks ke byte UTF-8 menggunakan TextEncoder API di browser sebelum menerapkan Base64. Karakter Unicode termasuk emoji (4 byte dalam UTF-8), karakter Tionghoa, huruf Arab, dan karakter Latin yang diberi aksen semuanya dikodekan dengan benar dan dapat didekode kembali ke teks asli.

Apa itu Base64 aman URL dan kapan saya harus menggunakannya?

Base64 aman URL (RFC 4648 §5) mengganti + dengan - dan / dengan _. Gunakan ini setiap kali data Base64 muncul dalam URL, nama file, cookie, atau header HTTP di mana karakter standar akan disalahartikan. Token JWT, token akses OAuth, dan verifier kode PKCE semuanya menggunakan Base64 aman URL.

Seberapa besar Base64 meningkatkan ukuran data?

Pengkodean Base64 meningkatkan ukuran data sebesar 33,33% - 3 byte input menjadi 4 karakter output (4/3 = 1,333...). Selain itu, output dapat mencakup hingga 2 karakter padding. Untuk payload biner besar, protokol multipart atau biner lebih efisien dalam penggunaan bandwidth dibandingkan Base64.