Base64 Encoder & Decoder

Tukar teks dan fail ke Base64 dan sebaliknya. Mengendalikan Unicode dengan betul, menyokong base64url yang selamat URL, dan memberitahu anda dengan tepat mengapa input tidak sah gagal.

Berjalan dalam pelayar andaTanpa pendaftaranTiada apa dimuat naik

Output Base64

Cara menggunakan Base64 Encode / Decode

  1. Pilih Kodkan atau Nyahkod.
  2. Taip atau tampal input anda. Hasil dikemas kini semasa anda menaip.
  3. Untuk URL, JWT dan nama fail, tandakan Selamat URL untuk menggunakan - dan _, dan buang padding = jika mahu.
  4. Untuk membenamkan imej atau fon, klik Kodkan fail dan biarkan Output sebagai data URI ditandakan.
  5. Salin hasilnya, atau guna Tukar untuk menyuapnya semula ke arah yang bertentangan.

Cara Base64 berfungsi

Base64 mewakili data binari menggunakan 64 aksara ASCII yang boleh dicetak: A-Z, a-z, 0-9, + dan /. Setiap 3 bait input menjadi 4 aksara, jadi data berkod kira-kira 33% lebih besar. Apabila panjang input bukan gandaan 3, satu atau dua tanda = digunakan sebagai padding pada output. Base64 ialah pengekodan, bukan penyulitan: sesiapa sahaja boleh menyahkodnya.

Base64 standard lwn. base64url

Aksara + dan / mempunyai makna khas dalam URL dan laluan fail. Abjad selamat URL daripada RFC 4648 §5 menggantikannya dengan - dan _ dan biasanya meninggalkan padding. JWT, banyak parameter OAuth dan sesetengah API awan menggunakan base64url. Penyahkod di sini menerima kedua-dua abjad secara automatik.

Unicode dan perangkap btoa()

Dalam pelayar, btoa("café") berfungsi tetapi btoa("日本") melontar ralat, kerana btoa hanya menerima Latin-1. Cara yang betul ialah mengodkan teks kepada bait UTF-8 terlebih dahulu, dan itulah yang dilakukan alat ini. Dalam JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))), atau Buffer.from(text).toString('base64') dalam Node.js.

Kegunaan biasa

  • Data URI untuk imej dan fon kecil dalam CSS atau HTML
  • Header pengesahan HTTP Basic (user:password dikodkan)
  • Lampiran binari dalam payload JSON dan e-mel (MIME)
  • Kubernetes Secrets, yang menyimpan nilai sebagai Base64

Soalan lazim

Adakah Base64 satu penyulitan?
Tidak. Base64 ialah pengekodan boleh balik tanpa kunci. Sesiapa sahaja boleh menyahkodnya, jadi jangan sekali-kali gunakannya untuk menyembunyikan kata laluan atau rahsia.
Mengapa Base64 saya gagal dinyahkod?
Punca biasa ialah aksara di luar abjad (selalunya tanda petikan atau pemisah baris yang terbawa semasa menyalin), rentetan yang terpotong, atau teks bukan Base64 yang tercampur. Mesej ralat menunjukkan kedudukan masalah pertama.
Output yang dinyahkod kelihatan seperti sampah. Mengapa?
Data itu mungkin binari, contohnya imej, fail termampat atau bait yang disulitkan, dan bukannya teks. Alat ini mengesannya, memaparkan hex dump, dan membolehkan anda memuat turun bait mentah.
Adakah saya perlukan padding =?
Banyak penyahkod, termasuk yang ini, berfungsi tanpanya kerana panjang memberitahu berapa bait yang hilang. Sesetengah penyahkod ketat memerlukannya. JWT dan kebanyakan penggunaan base64url meninggalkan padding.
Adakah fail saya dimuat naik?
Tidak. Fail dibaca dan dikodkan secara setempat dengan File API pelayar. Tiada apa yang dihantar ke pelayan.

Alat berkaitan