Encoder & Dekoder Base64 Online

0 chars
0 chars

Apakah Anda perlu mengonversi teks yang dapat dibaca ke format Base64 untuk digunakan dalam header HTTP, atau sebaliknya, memecahkan isi token API? Encoder & Dekoder Teks Base64 kami adalah alat khusus untuk bekerja dengan string teks, yang dapat menangani seluk-beluk seperti diakritik atau karakter khusus.

Apakah Anda bekerja dengan gambar?
Jika kode Anda dimulai dengan data:image/png... atau Anda ingin mengonversi file ke teks, alat ini hanya akan menampilkan karakter yang tidak masuk akal. Gunakan alat khusus kami untuk konversi ke gambar.

Bagaimana Format Base64 Bekerja?

Banyak orang menggunakan Base64 setiap hari, tetapi sedikit yang tahu bagaimana cara kerjanya “di balik layar”. Ini bukan sihir, melainkan matematika sederhana dengan bit.

Teks biasa di komputer disimpan sebagai 8 bit (1 byte). Namun, Base64 menggunakan “alfabet” yang terdiri dari 64 karakter (A-Z, a-z, 0-9, +, /). Karena 2^6 = 64, satu karakter Base64 mewakili tepat 6 bit informasi.

Proses Konversi (Algoritma):

  1. Tiga karakter dari teks Anda diambil (3 × 8 bit = 24 bit).
  2. 24 bit ini dibagi menjadi empat kelompok masing-masing 6 bit.
  3. Setiap kelompok diberi karakter dari tabel Base64.

Implikasi: Karena kita mengubah 3 karakter menjadi 4 karakter, string Base64 yang dihasilkan selalu kira-kira 33% lebih panjang dari teks aslinya.

Masalah Kumpulan Karakter: Mengapa Konverter Base64 Umum Merusak Karakter Bahasa Ceko?

Jika Anda pernah mencoba mengkodekan kata “Kůň” di konsol browser menggunakan fungsi btoa('Kůň'), Anda mungkin mendapatkan kesalahan: String contains characters outside of the Latin1 range.

Base64 awalnya dirancang untuk karakter ASCII 7-bit. Namun, karakter bahasa Ceko, emoji, dan simbol khusus lainnya (UTF-8) menempati lebih banyak byte dalam memori (multibyte characters).

  • Huruf a = 1 byte.
  • Huruf ř = 2 byte.
  • Emoji 🚀 = 4 byte.

Alat kami mengatasi masalah ini. Sebelum pengodean Base64 yang sebenarnya, teks akan kami konversi dengan benar menjadi urutan byte UTF-8. Berkat ini, Anda dapat dengan aman mengodekan objek JSON, teks bahasa Ceko, dan simbol modern tanpa risiko kerusakan data.

Di Mana Pengodean Teks Base64 Digunakan?

Sementara gambar dalam Base64 terutama digunakan untuk penyisipan ke dalam CSS/HTML, teks Base64 memiliki kegunaan yang sama sekali berbeda dalam sistem backend:

1. HTTP Basic Authentication

Ketika Anda masuk ke API, header sering terlihat seperti ini: Authorization: Basic dXppdmF0ZWw6aGVzbG8= Di balik kode ini terdapat nama pengguna dan kata sandi yang digabungkan sederhana dalam format pengguna:sandi. Alat kami memungkinkan Anda dengan mudah membuat atau memeriksa header ini.

2. JSON Web Tokens (JWT)

Aplikasi web modern menggunakan apa yang disebut JWT untuk login. Token semacam itu terlihat seperti tiga string panjang yang dipisahkan oleh titik. Bagian data (Payload) adalah objek JSON biasa yang dikodekan dalam Base64.

  • Tip: Coba masukkan bagian tengah token JWT Anda di sini dan dekode. Anda akan melihat data persis apa yang dicatat aplikasi tentang Anda (misalnya, ID pengguna, kedaluwarsa).

3. File Konfigurasi (Kubernetes Secrets)

Platform seperti Kubernetes menyimpan data rahasia (Secrets) dalam file YAML konfigurasi dalam Base64. Ini bukan enkripsi, tetapi cara untuk menyimpan data biner atau teks dengan karakter bermasalah (baris baru, tanda kutip) dalam file teks.

Apa itu “URL Safe Base64 Encoding” dan Mengapa Itu Penting?

Alfabet Base64 standar berisi karakter + (plus) dan / (garis miring). Kedua karakter ini memiliki arti khusus dalam alamat URL:

  • / memisahkan direktori.
  • + sering diinterpretasikan sebagai spasi.

Jika Anda mengirim Base64 standar dalam parameter URL (misalnya, site.com?token=ab/cd+ef), server dapat salah membaca data.

Solusi (Mode URL Safe): Tombol kami mengaktifkan varian Base64URL (sesuai RFC 4648), yang melakukan perubahan ini:

  • + diubah menjadi - (tanda hubung).
  • / diubah menjadi _ (garis bawah).
  • Di akhir, karakter = (padding) dihapus, karena tidak diperlukan dalam URL.

Mitos: Base64 Bukan Enkripsi!

Penting untuk memahami perbedaan mendasar yang sering dikacaukan oleh pemula:

  1. Pengodean (Encoding - Base64): Digunakan untuk transfer data. Ini seperti mengemas barang ke dalam koper agar tidak rusak dalam perjalanan. Siapa pun yang menemukan koper itu dapat membukanya (mendekode) dan melihat isinya. Ini tidak aman untuk data rahasia.
  2. Enkripsi (Encryption - AES, RSA): Mengunci data dengan kunci. Tanpa kunci, Anda tidak dapat mengakses konten.
  3. Hashing (Hashing - SHA, MD5): Proses satu arah (misalnya, untuk menyimpan kata sandi). Teks asli tidak dapat diperoleh dari hasilnya.

Jika Anda perlu mengirim kata sandi atau data sensitif, Base64 saja tidak cukup. Anda harus menggunakan HTTPS (SSL/TLS), yang akan mengenskripsi transmisi.


Pertanyaan yang Sering Diajukan (FAQ)

Apa arti karakter "=" di akhir string? Ini adalah "padding". Karena Base64 mengkodekan data dalam kelompok 3 karakter, panjang teks asli mungkin tidak dapat dibagi tiga. Karakter `=` ditambahkan di akhir agar dekoder tahu berapa banyak bit yang harus diabaikan di akhir.
Mengapa teks yang didekodekan muncul sebagai "huruf acak"? Anda mungkin mencoba mendekode data yang bukan teks. Jika string Base64 mewakili file terkompresi (ZIP), gambar, atau data terenkripsi, mengonversinya ke teks (UTF-8) tidak masuk akal. Coba cari tahu asal-usul data tersebut.
Apakah alat ini berfungsi secara offline? Ya. Semua logika konversi ditulis dalam JavaScript dan berjalan langsung di browser Anda. Setelah halaman dimuat, Anda dapat memutuskan koneksi internet dan alat ini akan tetap berfungsi. Data Anda tidak dikirim ke mana pun.