Alat yang Anda butuhkan, siap dipakai

Encoder dan Decoder Base64

Masukkan teks ke kolom teks asli dan hasilnya langsung di-encode ke kolom Base64; tempelkan nilai ke kolom Base64 dan teks aslinya muncul kembali. Nilai berbungkus seperti header Authorization: Basic, subjek email =?UTF-8?B?…?=, dan alamat data: juga langsung dibaca, dan pengodean karakter (UTF-8, Windows-1252, UTF-16) dideteksi otomatis. Di bawahnya tampil kelompok dan bit tempat 3 byte menjadi 4 karakter, serta alasan hasilnya bisa berbeda dari alat lain.

Terakhir diperbarui 2026-10-21Semua perhitungan terjadi di browser Anda
Contoh

Teks asli
Base64

    Rel kelompok

    Kelompok tempat 3 byte menjadi 4 karakter Base64. Pilih kelompok dengan tombol panah, lalu bitnya muncul di kaca pembesar.
    Kaca pembesar kelompok

    Teks sama, Base64 berbedaJika hasilnya beda dari alat lain · tekan untuk menyalin

      Terakhir diperbarui 2026-10-21Masukan Anda tidak disimpan

      Standar ROBERINAlat yang Anda butuhkan,
      siap dipakai.
      • Jelas sekilasPosisi input dan hasil terlihat jelas.
      • Hasil lebih duluAngka utama tampil dulu; prosesnya hanya saat dibutuhkan.
      • Minta lebih sedikitTanpa pendaftaran atau data yang tidak perlu.

      Base64 mengubah 3 byte menjadi 4 karakter

      Encode Base64 mengelompokkan data per 3 byte (24 bit), membagi tiap kelompok menjadi empat bagian 6 bit, lalu menulis nomor 0–63 sebagai salah satu dari 64 karakter: A–Z, a–z, 0–9, +, dan /. Karena itu, 3 byte selalu menjadi 4 karakter, dan hasilnya sekitar 33% lebih panjang daripada data aslinya. Teks lebih dulu diubah menjadi byte UTF-8, sehingga 'Halo, apa kabar? 👋' berukuran 21 byte dan menjadi 28 karakter Base64 tanpa padding: SGFsbywgYXBhIGthYmFyPyDwn5GL. Base64 bukan enkripsi, jadi siapa pun bisa mengembalikannya begitu saja.

      Pada alat di atas, kolom teks asli maupun kolom Base64 bisa diedit. Jika Anda mengubah teks asli, hasilnya di-encode; jika Anda menempelkan nilai ke kolom Base64, nilai itu di-decode. Nilai yang berbungkus, seperti header Authorization: Basic, subjek email =?UTF-8?B?…?=, alamat data:, sertifikat PEM, atau -EncodedCommand PowerShell, juga langsung dibaca setelah bungkusnya dilepas. Byte yang tidak terbaca sebagai UTF-8 dikenali sebagai pengodean lain seperti Windows-1252 atau UTF-16, atau sebagai berkas seperti PNG dan PDF. Jalur pembacaan menampilkan tahap yang dilalui konversi, sedangkan rel kelompok dan kaca pembesar menampilkan posisi 3 byte menjadi 4 karakter.

      Kapan Anda perlu membaca atau membuat Base64 sendiri

      • Memeriksa header HTTP Basic auth: RFC 7617 menetapkan bahwa nama pengguna, titik dua (:), dan kata sandi digabung lalu di-encode dengan Base64 dan dikirim setelah Authorization: Basic. Misalnya admin:1234 menjadi YWRtaW46MTIzNA==. Artinya, siapa pun yang melihat header ini bisa membaca kata sandinya, sehingga Basic auth hanya boleh dipakai lewat HTTPS.
      • Subjek email tampak seperti =?UTF-8?B?…?=: Header email hanya boleh berisi karakter ASCII, sehingga subjek yang memuat emoji atau huruf non-ASCII ditulis dalam bentuk encoded-word menurut RFC 2047. Misalnya 'Pesanan Anda sudah dikirim 📦' menjadi =?UTF-8?B?UGVzYW5hbiBBbmRhIHN1ZGFoIGRpa2lyaW0g8J+Tpg==?=. UTF-8 di antara tanda tanya adalah pengodean karakter, sedangkan B menandakan Base64. Jika seluruh nilai header ditempelkan, alat ini membacanya dengan pengodean yang tertulis.
      • Membaca konfigurasi atau Kubernetes Secret: Nilai pada kolom data di Kubernetes Secret harus berupa string yang di-encode dengan Base64; jika tidak ingin meng-encode, gunakan kolom stringData. Alat ini membantu memeriksa isi nilai yang Anda ambil atau membuat Base64 untuk nilai baru.
      • Menyisipkan gambar atau PDF ke dalam JSON: Base64 sering dipakai untuk memasukkan byte berkas ke format yang hanya menerima teks. Jika nilai yang ditempelkan di kolom Base64 bukan teks, alat ini menampilkan format dan ukurannya, lalu Anda bisa menyimpannya sebagai berkas.
      • Melihat isi JWT: Setiap bagian JWT yang dipisah titik (.) adalah Base64url (RFC 7515), yaitu memakai karakter URL-safe dan membuang = di akhir. Header dan payload bisa di-decode di sini, tetapi tanda tangannya tidak diperiksa.
      • Membuat atau memeriksa nilai -EncodedCommand PowerShell: Dokumentasi PowerShell menyebut nilai ini harus berupa Base64 dari string UTF-16LE. Get-Date yang sama menjadi R2V0LURhdGU= dalam UTF-8, tetapi RwBlAHQALQBEAGEAdABlAA== dalam UTF-16LE, jadi hasilnya sama sekali berbeda.
      • Menangani berkas sertifikat atau kunci (PEM): Isi di antara -----BEGIN CERTIFICATE----- adalah Base64 yang dipotong menjadi 64 karakter per baris sesuai RFC 7468. Jika isinya di-decode, hasilnya adalah byte berformat DER.

      Cara memakai

      1. Encode: Masukkan teks ke kolom teks asli, atau pilih berkas lewat 'Pilih berkas'. Anda juga bisa menyeret atau menempelkan berkas ke kolom teks asli. Hasilnya langsung muncul di kolom Base64.
      2. Decode: Tempelkan nilai ke kolom Base64. Tanda kutip atau nama header di depan dan belakangnya tidak masalah. Teks muncul di kolom teks asli; jika bukan teks, muncul kartu berkas yang memuat format dan ukurannya.
      3. Memilih bentuk: Di panel pengaturan, pilih standar (+ /) atau URL-safe (- _), memakai atau tanpa =, serta satu baris, 76 karakter, atau 64 karakter per baris. Bentuk nilai yang ditempelkan langsung tercermin di panel, sehingga teks hasil decode yang Anda ubah akan di-encode lagi dalam bentuk yang sama.
      4. Pengodean karakter: Bawaannya adalah deteksi otomatis. Jika teks hasil decode tampak aneh, pilih sendiri UTF-8, Windows-1252, UTF-16LE, atau pengodean lain. Jika ada beberapa nilai dengan satu nilai per baris, aktifkan 'Tiap baris terpisah'.
      5. Pemeriksaan: Di jalur pembacaan, periksa bungkus yang dilepas, spasi yang diabaikan, dan padding yang dilengkapi. Tekan sebuah kelompok di rel untuk melihat bitnya di kaca pembesar. Jika hasilnya berbeda dari alat lain, cari penyebabnya di daftar 'Teks sama, Base64 berbeda'; tekan barisnya untuk menyalin nilainya.

      Aturan 3 byte menjadi 4 karakter

      Ambil contoh 'Ibu', yang byte UTF-8-nya 49 62 75. Tiga byte digabung menjadi 24 bit, lalu dipotong per 6 bit sehingga muncul empat nomor antara 0 dan 63. Cari nomor itu di tabel karakter di bawah, dan hasilnya adalah SWJ1.

      Proses mengubah 'Ibu' (49 62 75) menjadi Base64
      TahapByte pertamaByte keduaByte ketiga
      Byte496275
      Per 8 bit010010010110001001110101
      Per 6 bit010010 · 010110 · 001001 · 110101
      Nomor18 · 22 · 9 · 53
      KarakterS · W · J · 1

      Jika data di akhir tidak habis dibagi 3 byte, bit yang kurang diisi 0 untuk membentuk karakter, dan posisi kosongnya ditulis dengan =. Sisa 1 byte menghasilkan 2 karakter dan ==, sedangkan sisa 2 byte menghasilkan 3 karakter dan =. RFC 4648 menetapkan bahwa encoder mengisi bit tambahan dengan 0, dan decoder boleh menolak nilai yang bukan 0.

      Jumlah byte sisa di akhir dan padding (cara yang sama seperti contoh di RFC 4648 bagian 10)
      Teks asliByteBase64Tanpa =
      Ibu3SWJ1SWJ1
      Ib2SWI=SWI
      I1SQ==SQ
      😀48J+YgA==8J+YgA
      Tabel karakter Base64: nomor = baris + kolom (nomor 62 dan 63 menjadi - _ pada URL-safe)
      +0+1+2+3+4+5+6+7
      0ABCDEFGH
      8IJKLMNOP
      16QRSTUVWX
      24YZabcdef
      32ghijklmn
      40opqrstuv
      48wxyz0123
      56456789+ / -/ / _

      Menghitung panjang Base64

      Dengan padding, panjang Base64 adalah 4 × ⌈n ÷ 3⌉ (n = jumlah byte); tanpa padding, panjangnya ⌈4n ÷ 3⌉. Yang menentukan panjang adalah jumlah byte, bukan jumlah karakter. Huruf biasa memakai 1 byte per karakter dalam UTF-8, tetapi emoji memakai 4 byte dan huruf beraksen seperti é memakai 2 byte, sehingga teks dengan jumlah karakter sama bisa menghasilkan Base64 yang lebih panjang. Jika kita menyisipkan baris baru CRLF setiap 76 karakter seperti pada email, setiap baris bertambah 2 karakter.

      Panjang Base64 menurut ukuran data asli (jumlah karakter)
      Data asliBytePakai =Tanpa =Dipotong 76 karakter (CRLF)Pertambahan
      Hello587860%
      Halo, apa kabar? 👋2128282833,3%
      100 byte10013613413836%
      1 KiB1.0241.3681.3661.40233,6%
      1 MiB1.048.5761.398.1041.398.1021.434.89633,3%
      5 MiB (batas berkas)5.242.8806.990.5086.990.5077.174.46833,3%

      Perbedaan standar, URL-safe, MIME, dan PEM

      Namanya berbeda, tetapi perhitungan yang mengubah 3 byte menjadi 4 karakter tetap sama. Perbedaannya hanya tiga: karakter nomor 62 dan 63, tanda = di akhir, dan pemotongan baris.

      Perbandingan bentuk Base64
      BentukNomor 62 dan 63= di akhirPemotongan barisPemakaian umumDasar
      Standar+ /AdaTidak adaData umum, alamat data:, Basic authRFC 4648 bagian 4
      URL-safe- _Ada atau tidakTidak adaNilai yang disisipkan di URL atau nama berkasRFC 4648 bagian 5
      JWT (Base64url)- _Tidak adaTidak adaTiga bagian JWT dan JWSRFC 7515 bagian 2
      MIME (email)+ /AdaMaksimal 76 karakter per barisIsi email dan lampiranRFC 2045 bagian 6.8
      PEM+ /Ada64 karakter per baris (kecuali baris terakhir)Berkas sertifikat dan kunciRFC 7468 bagian 2
      Perintah GNU base64+ /AdaBawaan 76 karakter, satu baris jika -w 0Baris perintah LinuxManual coreutils

      Aturan decode juga sedikit berbeda. RFC 4648 menetapkan agar karakter di luar alfabet ditolak, sedangkan RFC 2045 untuk email menetapkan agar baris baru dan karakter di luar tabel diabaikan. Fungsi atob() di browser hanya membuang spasi dan memberi galat jika ada - atau _ (WHATWG forgiving-base64). Alat ini mengabaikan baris baru dan spasi, mengembalikan %2B, %2F, dan %3D dari URL serta penulisan \n dari JSON ke karakter aslinya, dan menerima karakter standar maupun URL-safe. Jika menemukan karakter lain, alat berhenti sambil menunjukkan posisinya.

      Teks sama, Base64 berbeda menurut pengodean karakter

      Base64 hanyalah cara menulis byte sebagai karakter, sehingga hasilnya bergantung pada byte yang dihasilkan dari teks (pengodean karakter). Teks ASCII seperti Hello menghasilkan byte yang sama di UTF-8 dan Windows-1252, sehingga Base64-nya sama. Namun huruf beraksen seperti é berbeda: 1 byte di Windows-1252 tetapi 2 byte di UTF-8. Jika byte UTF-8 dibaca sebagai Windows-1252, 'café' tampil sebagai 'café'. Inilah contoh khas teks yang rusak karena salah pengodean.

      Base64 teks yang sama menurut pengodean karakter (pakai =)
      TeksUTF-8Windows-1252UTF-16LEUTF-16BE
      HaloSGFsbw==SGFsbw==SABhAGwAbwA=AEgAYQBsAG8=
      HelloSGVsbG8=SGVsbG8=SABlAGwAbABvAA==AEgAZQBsAGwAbw==
      CaféQ2Fmw6k=Q2Fm6Q==QwBhAGYA6QA=AEMAYQBmAOk=
      日本語5pel5pys6Kqetidak ada (日本語)5WUsZ56KZeVnLIqe

      Deteksi otomatis lebih dulu memeriksa byte awal untuk melihat apakah itu tanda tangan berkas seperti PNG atau JPEG. Setelah itu, deteksi mencoba berurutan: ① nilai yang pengodeannya tertulis atau sudah ditetapkan, seperti subjek email, alamat data:, dan PowerShell; ② BOM di awal (EF BB BF, FF FE, FE FF); ③ pola UTF-16 yang menyisipkan 00 di sela karakter ASCII; ④ UTF-8, lalu memakai hasil pertama yang terbaca tanpa karakter kontrol. Jika semuanya gagal, byte dibaca sebagai EUC-KR, Shift_JIS, Windows-1252, dan UTF-16 tanpa byte 00, lalu dipilih hasil yang paling banyak berisi huruf khas pengodean itu (Hangul, kana dan kanji, huruf Latin beraksen). Jika nilainya sama, pengodean bahasa halaman didahulukan (Windows-1252 untuk halaman bahasa Indonesia). Byte saja tidak cukup untuk memastikan pengodean, jadi jika hasilnya terasa janggal, pilih sendiri di panel pengaturan.

      Bungkus pada nilai tempelan yang dilepas alat ini

      Nilai yang Anda salin sering memiliki nama header atau penanda bentuk di depan dan belakang Base64. Bentuk di bawah ini dilepas bungkusnya, hanya Base64 di dalamnya yang dibaca, dan jika teks asli diubah, hasilnya dibungkus kembali dengan cara yang sama (kecuali JWT yang butuh tanda tangan). Tombol × pada chip 'Bungkus dipertahankan' di jalur pembacaan dapat membuang bungkus tersebut.

      Bungkus yang dikenali alat ini
      BentukContohPenanganan
      Basic authAuthorization: Basic cm9i…Dibaca sebagai UTF-8 lebih dulu
      Subjek email=?UTF-8?B?UGVzYW5h…?=Dibaca dengan pengodean yang tertulis, beberapa kata disambung, dan saat dibuat ulang dipecah menjadi maksimal 75 karakter per kata
      Alamat data:data:image/png;base64,iVBOR…Format dan charset diikuti; jika tidak ada ;base64, ditampilkan pemberitahuan bahwa isinya bukan Base64
      PEM-----BEGIN CERTIFICATE-----Hanya isinya yang dibaca, dan pemotongan 64 karakter dipertahankan
      PowerShellpowershell -EncodedCommand RwBl…Dibaca sebagai UTF-16LE
      JWT dan BearereyJhbGci….eyJzdWIi….tandatanganHeader dan payload di-decode per baris, tanda tangan dilewati
      Tanda kutip dan Python"SGVsbG8=", b'SGVsbG8='Hanya tanda kutipnya yang dibuang
      %XX dalam URLSGVsbG8%3D%2B, %2F, dan %3D dikembalikan menjadi +, /, dan =
      Tulisan \n dalam JSONMIIB…\nMIIC…Dianggap baris baru dan diabaikan

      Jika tidak bisa di-decode: penyebab tiap galat

      Jika nilai di kolom Base64 tidak terbaca, baris status menampilkan karakter ke berapa yang menghentikan pembacaan beserta karakter di sekitarnya. Kolom teks asli tetap tampil pudar dan memperlihatkan hasil terakhir yang berhasil dibaca.

      Galat dan peringatan
      StatusContohPenyebabCara memperbaiki
      Karakter di luar Base64SGVs bG8!Ada karakter seperti !, :, atau huruf beraksenHapus teks penjelas dan simbol, lalu masukkan nilainya saja
      Jumlah karakter tidak pasSGVsbSatu kelompok 4 karakter hanya menyisakan 1 karakterPeriksa karakter yang hilang atau berlebih saat menyalin
      Jumlah = tidak pasSGVsbG8==Untuk panjang ini, yang benar hanya 1 tanda =Hapus satu tanda =
      Ada karakter setelah =SGVsbG8=V29ybGQ=Dua nilai tersambung jadi satuPisahkan baris, lalu aktifkan 'Tiap baris terpisah'
      Bit akhir bukan 0 (peringatan)SGVsbGBit sisa pada karakter terakhir bukan 0, mungkin ujungnya terpotong (hasil decode: Hell)Periksa bagian akhir data asli
      Tidak terbaca sebagai UTF-8UulzdW3pByte dari pengodean lain seperti Windows-1252 (contoh ini 'Résumé')Lihat hasil deteksi otomatis atau pilih pengodean sendiri
      Terbaca sebagai berkasiVBORw0KGgo…Byte bukan teks (contoh ini tanda pengenal PNG)Simpan dari kartu berkas

      Jika hasilnya berbeda dari alat lain

      Jika Anda memasukkan teks yang sama tetapi Base64-nya berbeda, hampir selalu byte-nya berbeda atau pengaturan bentuknya berbeda. Daftar 'Teks sama, Base64 berbeda' di bawah alat menghitung ulang kasus berikut dengan teks asli Anda sekarang, lalu menampilkannya mulai dari perbedaan pertama.

      Penyebab umum hasil yang berbeda
      PenyebabTeks asliPerbedaan hasil
      Baris baru di akhir dari echohelloDengan printf hasilnya aGVsbG8=, dengan echo hasilnya aGVsbG8K
      Baris baru LF dan CRLFBaris satu ↵ baris duaLF QmFyaXMgc2F0dQpiYXJpcyBkdWE=, CRLF QmFyaXMgc2F0dQ0KYmFyaXMgZHVh
      Pengodean karakterCaféUTF-8 Q2Fmw6k=, Windows-1252 Q2Fm6Q==
      Standar dan URL-safe😀8J+YgA==, 8J-YgA==
      PaddingHelloSGVsbG8=, SGVsbG8
      Pemotongan barisBerkas panjangbase64 GNU memberi baris baru setiap 76 karakter, dan satu baris jika memakai -w 0
      Kelonggaran decoderZm9v-_b64decode() Python pada pengaturan bawaan membuang - _ sehingga hanya tersisa b'foo', sedangkan alat ini membacanya sebagai karakter URL-safe

      Melakukannya lewat kode

      btoa() di browser memberi InvalidCharacterError jika ada karakter yang tidak muat dalam satu byte, misalnya emoji. Teks harus diubah dulu menjadi byte UTF-8 sebelum di-encode. Uint8Array.prototype.toBase64() yang baru dapat dipakai mulai Chrome 140, Firefox 133, dan Safari 18.2.

      // JavaScript: ubah teks menjadi byte UTF-8 lalu encode (teks pendek)
      const bytes = new TextEncoder().encode('Halo, apa kabar? 👋');
      const b64 = btoa(String.fromCharCode(...bytes));          // SGFsbywgYXBhIGthYmFyPyDwn5GL
      const back = new TextDecoder().decode(Uint8Array.from(atob(b64), c => c.charCodeAt(0)));
      bytes.toBase64({ alphabet: 'base64url', omitPadding: true }); // API baru
      
      # Python
      import base64
      base64.b64encode('Halo, apa kabar? 👋'.encode('utf-8'))   # b'SGFsbywgYXBhIGthYmFyPyDwn5GL'
      base64.b64decode('SGVsbG8')                      # jika berakhir tanpa =, muncul binascii.Error: Incorrect padding
      base64.b64decode('Zm9v-_', validate=True)        # galat, bukan membuang karakter di luar alfabet
      
      # Baris perintah
      printf '%s' 'Halo' | base64    # echo menambahkan baris baru di akhir
      base64 -w 0 laporan.pdf        # GNU: tanpa pemotongan baris (base64 macOS bawaannya satu baris, -b 76 untuk memotong)

      Kesalahan yang sering terjadi

      • Menganggap Base64 sebagai enkripsi: Tanpa kunci pun, siapa saja bisa mengembalikannya. Kata sandi atau token yang diubah ke Base64 tidak menjadi tersembunyi.
      • Memakai nilai dari echo apa adanya: echo menambahkan baris baru di akhir sehingga ujung hasilnya berubah menjadi K atau o=. Gunakan printf '%s' atau echo -n.
      • Mengubah huruf besar dan kecil: Base64 membaca huruf besar dan kecil sebagai karakter yang berbeda. Jika diubah demi keseragaman penulisan, datanya menjadi lain atau tidak bisa di-decode.
      • Menaruh Base64 standar langsung di query URL: Dalam pembacaan data formulir, + berubah menjadi spasi, dan / serta = juga punya arti di dalam URL. Pakai URL-safe atau lakukan percent-encoding.
      • Meng-encode dua kali: Jika hasil decode terlihat seperti Base64 lagi, tombol 'Decode sekali lagi' muncul di samping baris status.
      • Lupa awalan data: pada gambar Base64: Untuk HTML atau CSS, awalan data:image/png;base64, diperlukan. Untuk gambar, konverter gambar ↔ Base64 bahkan membuatkan bentuk HTML dan CSS-nya.

      Batasan

      • Berkas yang bisa dimasukkan maksimal 5 MB (sekitar 7 juta karakter dalam Base64). Jika teks di kolom melebihi 400.000 karakter, hanya awal dan akhirnya yang ditampilkan, sedangkan penyalinan dan penyimpanan memakai seluruh isi.
      • Deteksi otomatis adalah perkiraan dari pola byte. Nilai yang pendek bisa terbaca dengan beberapa pengodean, sehingga hasilnya bisa keliru.
      • Pengodean yang bisa dipakai untuk membuat hasil adalah UTF-8, UTF-16LE dan BE, EUC-KR(CP949), Shift_JIS, serta Windows-1252. Pengodean seperti ISO-2022-JP pada subjek email hanya dibaca; jika teks hasil decode diubah, hasilnya dibuat ulang dengan UTF-8.
      • Tanda tangan JWT tidak diperiksa, dan encoding Q pada subjek email (=?…?Q?…?=) tidak di-decode.
      • Kolom teks di browser mengubah baris baru menjadi LF, jadi baris baru di kolom teks asli di-encode sebagai LF. Jika perlu CRLF, salin baris CRLF dari 'Teks sama, Base64 berbeda'.
      • Rel kelompok hanya menggambar 480 kelompok pertama (1.440 byte). Sisanya tetap ikut dikonversi dan disalin.
      • Konversi hanya berjalan di dalam browser ini. Nilai yang Anda masukkan tidak dikirim ke server dan tidak disimpan di URL maupun penyimpanan.

      Sumber

      Acuan: Bentuk Base64 mengacu pada RFC 4648; pemakaian pada email, PEM, header autentikasi, dan JWT mengacu pada RFC masing-masing; perilaku browser mengacu pada standar WHATWG dan MDN; perilaku baris perintah dan bahasa pemrograman mengacu pada dokumentasi masing-masing. Semuanya dicek pada 21 Oktober 2026. Nilai pada tabel sudah dicocokkan dengan alat ini dan modul base64 Python 3.14, dan hasilnya sama.

      Pertanyaan yang sering diajukan

      Apakah Base64 itu enkripsi?

      Bukan. Base64 hanyalah pengodean yang menulis ulang byte dengan 64 karakter, sehingga siapa pun bisa mengembalikannya ke nilai asli tanpa kunci. Misalnya YWRtaW46MTIzNA== pada header Basic auth langsung menjadi admin:1234 setelah di-decode. Untuk melindungi kata sandi atau token, gunakan HTTPS dan enkripsi yang sebenarnya.

      Mengapa teks yang sama menghasilkan Base64 yang berbeda di tiap situs?

      Sebagian besar karena byte-nya berbeda. 'Café' menjadi Q2Fmw6k= dalam UTF-8, Q2Fm6Q== dalam Windows-1252, dan QwBhAGYA6QA= dalam UTF-16LE. Selain itu, baris baru di akhir dari echo (hello → aGVsbG8K), CRLF dan LF, karakter URL-safe, padding yang dibuang, dan pemotongan baris 76 karakter juga mengubah hasil. Di bagian 'Teks sama, Base64 berbeda' di bawah alat, kasus-kasus ini bisa dibandingkan berdampingan.

      Apa fungsi tanda = di akhir, dan bolehkah dibuang?

      Tanda = adalah padding yang melengkapi 4 karakter ketika kelompok terakhir kurang dari 3 byte, dan bukan bagian dari data asli. Sisa 1 byte menghasilkan ==, sedangkan sisa 2 byte menghasilkan =. Ada format seperti JWT yang menetapkan agar = dibuang, tetapi di tempat lain tidak, jadi ikuti aturan pihak penerima. Alat ini membaca nilai dengan atau tanpa =.

      Bagaimana cara menghitung panjang Base64?

      Dengan padding, panjangnya 4 × ⌈jumlah byte ÷ 3⌉; tanpa padding, ⌈4 × jumlah byte ÷ 3⌉. Hello (5 byte) menjadi 8 karakter, 'Halo, apa kabar? 👋' (21 byte) menjadi 28 karakter, dan 1 MiB (1.048.576 byte) menjadi 1.398.104 karakter, atau sekitar 33% lebih panjang. Jika CRLF disisipkan setiap 76 karakter, setiap baris bertambah 2 karakter.

      Apa yang harus dilakukan jika hasil decode tampak rusak, misalnya é menjadi é?

      Kemungkinan besar byte aslinya bukan UTF-8, atau sebaliknya, byte UTF-8 dibaca sebagai Windows-1252. Alat ini membaca ulang dengan Windows-1252 dan UTF-16 bila nilainya tidak terbaca sebagai UTF-8. Jika teks masih janggal, pilih UTF-8, Windows-1252, UTF-16LE, Shift_JIS, atau EUC-KR di panel pengaturan lalu bandingkan. Contohnya, 'café' dalam UTF-8 yang dibaca sebagai Windows-1252 tampil sebagai 'café'.

      Base64 dengan bentuk apa yang cocok untuk URL?

      Gunakan bentuk URL-safe. Tanda + pada Base64 standar berubah menjadi spasi saat data formulir dibaca, dan / serta = juga punya arti di dalam URL. URL-safe mengganti karakter nomor 62 dan 63 dengan - dan _ (RFC 4648 bagian 5); jika penerima tidak menginginkan =, pilih juga 'Tanpa ='.

      Bagaimana cara membaca nilai subjek email seperti =?UTF-8?B?…?=?

      Nilai itu adalah encoded-word menurut RFC 2047. Bagian di antara tanda tanya pertama adalah pengodean karakter, B menandakan Base64, dan sesudahnya adalah isi Base64. Jika seluruh nilai ditempelkan ke kolom Base64, alat ini meng-decode-nya dengan pengodean yang tertulis (UTF-8, ISO-8859-1, dan lain-lain) dan menyambung subjek yang terbagi menjadi beberapa kata. Nilai bertanda Q bukan Base64, sehingga tidak di-decode.

      Bisakah gambar atau PDF yang diubah ke Base64 dikembalikan menjadi berkas?

      Bisa. Jika nilai yang ditempelkan di kolom Base64 bukan teks, alat ini mengenali formatnya dari byte pertama, seperti PNG, JPEG, PDF, atau ZIP, menampilkannya di kartu berkas, dan Anda dapat mengunduhnya lewat 'Simpan berkas'. Sebaliknya, 'Pilih berkas' mengubah berkas hingga 5 MB menjadi Base64. Konversi hanya berjalan di dalam browser dan tidak dikirim ke server.