Penukar Percuma

Pengekod Base64 / Penyahkod

Mengekodkan teks atau fail ke Base64 dan menyahkod rentetan Base64 serta-merta dalam penyemak imbas anda. Percuma, peribadi dan tiada muat naik diperlukan.

Tentang alat ini

Base64 ialah skema pengekodan yang mewakili data binari sebagai teks ASCII menggunakan 64 aksara boleh cetak: A-Z, a-z, 0-9, tambah (+), dan slash (/), dengan sama dengan (=) digunakan untuk pelapik. Format ini pada asalnya direka untuk membuat lampiran binari bertahan dalam pengangkutan e-mel bersih 7-bit, tetapi ia telah berkembang kepada berdozen penggunaan hari ini: URL data dalam HTML, JSON yang mengandungi data imej, muatan JWT, pengepala pengesahan asas dan sebarang protokol berasaskan teks yang perlu membawa bait.

Pengekodan mengambil 3 bait input dan menghasilkan 4 aksara ASCII output. Oleh itu, output adalah 33% lebih lama daripada input — iaitu kos untuk memasang binari ke dalam format selamat teks. Penyahkodan membalikkan proses dengan tepat, memulihkan bait asal daripada teks yang dikodkan.

Alat ini mengendalikan kedua-dua arah. Mod pengekodan mengambil input teks (atau fail binari melalui muat naik) dan menghasilkan teks base64. Mod nyahkod mengambil teks base64 dan menghasilkan teks asal atau binari yang boleh dimuat turun. Varian selamat URL (menggunakan - dan _ menggantikan + dan /) disokong untuk token dan pengecam.

Mengapa Menggunakan Base64

Base64 ialah cara standard untuk membenamkan data binari dalam konteks teks sahaja. Imej sebaris dalam HTML menggunakan URL data (data:image/png;base64,...) jadi ikon kecil boleh dihantar bersama halaman tanpa permintaan yang berasingan. Muatan JSON yang membawa imej, sijil atau tandatangan mengekodnya sebagai rentetan base64. Token JWT ialah tiga segmen berkod base64 yang dipisahkan oleh titik.

Base64 juga menormalkan pengendalian aksara untuk protokol yang salah mengendalikan binari 8-bit. Pengepala pengesahan (Pengesahan asas menggunakan base64), lampiran e-mel, fail konfigurasi yang mengandungi kunci dan banyak API memerlukan base64 kerana perduaan tidak boleh melalui saluran paipnya dengan pasti.

Cara menggunakan

Tampal data, pilih arah.

  1. Pilih pengekodan atau nyahkod: Encode menghasilkan teks base64 daripada input binari atau teks. Decode membalikkan proses.
  2. Tambah input: Untuk pengekodan, tampal teks atau muat naik fail binari. Untuk penyahkodan, tampal teks base64. Alat ini mengesan varian selamat URL secara automatik.
  3. Tukar: Penyemak imbas menggunakan btoa untuk pengekodan dan atob untuk penyahkodan (dengan pengendalian UTF-8 untuk teks bukan ASCII). Output adalah tepat dan deterministik.
  4. Salin atau muat turun: Teks yang dikodkan boleh dibenamkan dalam URL, JSON, URL data HTML atau mana-mana protokol berasaskan teks. Muat turun binari dinyahkod sebagai fail dengan tekaan pada sambungan yang sesuai berdasarkan jenis fail yang dikesan.

Kes Penggunaan Biasa

Butiran Teknikal

Base64 memetakan setiap 6 bit input kepada salah satu daripada 64 aksara output. Tiga bait input (24 bit) menghasilkan empat aksara output. Apabila panjang input bukan gandaan 3, pengekod menambahkan satu atau dua tanda yang sama untuk menambah output kepada gandaan 4 aksara.

URL-safe base64 (ditakrifkan dalam RFC 4648 bahagian 5) menggantikan + dengan - dan / dengan _ untuk menghasilkan rentetan yang selamat untuk digunakan dalam URL dan nama fail tanpa melarikan diri lagi. Tanda sama dengan padding kadangkala ditinggalkan dalam konteks selamat URL; penyahkod biasanya menerima kedua-dua borang.

Btoa dan atob JavaScript mengendalikan ASCII secara langsung tetapi gagal pada rentetan bukan ASCII. Untuk teks UTF-8, penukar menggunakan TextEncoder/TextDecoder untuk menukar antara teks dan binari, kemudian base64-mengekodkan binari. Ini mengendalikan emoji, aksara beraksen dan skrip bukan Latin dengan betul.

Amalan Terbaik

Soalan lazim

Apakah pengekodan Base64 digunakan?
Base64 menukar data binari kepada teks ASCII. Kegunaan biasa termasuk membenamkan imej dalam HTML (URI data), pengekodan lampiran e-mel, menghantar data binari dalam API JSON dan menyimpan gumpalan binari dalam pangkalan data berasaskan teks.
Adakah pengekodan Base64 menyulitkan data saya?
Tidak. Base64 ialah pengekodan, bukan penyulitan. Sesiapa sahaja boleh menyahkod rentetan Base64. Ia direka untuk pengangkutan data yang selamat, bukan keselamatan. Gunakan penyulitan sebenar (AES, RSA) untuk data sensitif.
Mengapa Base64 meningkatkan saiz fail?
Base64 mewakili setiap 3 bait input sebagai 4 aksara ASCII, menghasilkan kira-kira 33% peningkatan saiz. Ini adalah pertukaran untuk dapat membenamkan data binari dengan selamat dalam format teks.
Bolehkah saya mengekod imej ke Base64?
ya. Muat naik fail imej dan alat itu akan menghasilkan rentetan Base64 yang boleh anda gunakan sebagai URI data (data:image/png;base64,...) dalam HTML atau CSS.
Adakah token JWT base64?
Ya — JWT terdiri daripada tiga segmen berkod base64url yang dipisahkan oleh titik. Yang pertama ialah pengepala, yang kedua ialah muatan, yang ketiga ialah tandatangan.
Adakah data saya dimuat naik ke pelayan?
Tidak. Pengekodan dan penyahkodan berlaku dalam penyemak imbas anda menggunakan btoa, atob, TextEncoder dan TextDecoder.
Apakah saiz maksimum?
Sehingga 50 MB. Memori penyemak imbas mengehadkan saiz praktikal untuk input yang sangat besar.
Mengapakah output saya yang dinyahkod kelihatan seperti sampah?
Kemungkinan besar sumbernya adalah binari, bukan teks. Beralih kepada mod muat turun fail untuk mendapatkan binari, atau semak sama ada input sebenarnya adalah teks berkod base64 dan bukannya binari.