CodeKitHub
Alat Pengekodan

Pengekod / Penyahkod Base64 Dalam Talian

Kemas kini terakhir:

Base64 menukar setiap 3 bait data kepada 4 aksara ASCII, jadi output yang dikodkan lebih kurang 33% lebih besar daripada input asal. Tukar teks kepada Base64 atau nyahkod rentetan Base64 kembali kepada teks yang boleh dibaca. Alat ini selamat UTF-8, jadi ia mengendalikan emoji, Cina, dan aksara bukan-ASCII lain yang merosakkan alat Base64 mudah dengan betul. Semuanya berjalan secara tempatan dalam pelayar anda.

Apakah alat ini?

Base64 ialah skema pengekodan yang menukar data binari atau teks kepada set 64 aksara ASCII selamat (A–Z, a–z, 0–9, + dan /). Ia digunakan di mana-mana dalam perisian: menyematkan imej dalam HTML/CSS, header pengesahan HTTP Basic, lampiran e-mel (MIME), JSON Web Token, dan muatan API yang perlu bertahan melalui saluran teks sahaja.

Penting: Base64 ialah pengekodan, bukan penyulitan. Sesiapa sahaja boleh menyahkodnya. Tujuannya ialah menjadikan data selamat untuk dihantar melalui sistem yang hanya memahami teks — bukan untuk merahsiakannya.

Base64 dinyatakan secara rasmi dalam RFC 4648, yang juga mentakrifkan varian selamat-URL yang digunakan dalam JWT dan API web: ia menggantikan + dengan - dan / dengan _ supaya rentetan yang dikodkan boleh melalui URL tanpa pengekodan peratus.

Kenapa guna alat ini?

  • Nyahkod token API, segmen JWT dan header pengesahan untuk melihat kandungannya.
  • Kod teks untuk URI data, fail konfigurasi atau header HTTP.
  • Selamat UTF-8: emoji dan aksara bukan Latin dikod dan dinyahkod dengan betul.
  • 100% peribadi — penukaran berlaku dalam pelayar anda, tiada apa dimuat naik.
  • Percuma, tiada log masuk, tiada had saiz.

Cara menggunakannya

  1. Taip atau tampal kandungan anda ke dalam kotak input.
  2. Klik "Encode" untuk menukar teks kepada Base64, atau "Decode" untuk menukar Base64 kembali kepada teks.
  3. Jika penyahkodan gagal, input bukan Base64 yang sah — semak aksara yang hilang atau ruang tambahan.
  4. Klik "Copy" untuk menyalin hasilnya.

Contoh

Input

Hello, CodeKitHub! 你好 👋

Hasil

SGVsbG8sIENvZGVLaXRIdWIhIOS9oOWlvSDwn5GL

Perhatikan bagaimana aksara Cina dan emoji terus wujud selepas proses pusing balik — itulah bahagian yang selamat UTF-8.

Petua praktikal

  • Token JWT ialah tiga segmen Base64 disambung dengan titik — nyahkod dua yang pertama (header dan payload) secara berasingan untuk membacanya; yang ketiga ialah tandatangan binari dan akan kelihatan seperti bunyi bising.
  • Jika penyahkodan gagal pada segmen JWT, itu ialah pengekodan base64url: gantikan - dengan + dan _ dengan / dahulu (alat standard mengharapkan abjad +/).
  • Ruang kosong dan pemecahan baris dalam rentetan Base64 biasanya baki tidak berbahaya daripada e-mel atau log, tetapi pengisi = akhir yang hilang selalunya tidak — semak panjang sebelum menganggap data rosak.
  • Base64 mengembangkan data ~33%. Baik untuk muatan kecil; untuk imej melebihi beberapa KB, fail sebenar hampir selalu pilihan lebih baik berbanding URI data.

Senario penggunaan sebenar

Tiga kes yang membawa orang ke sini setiap hari: membaca kandungan header Authorization atau JWT, menyahkod medan muatan webhook/API yang tiba dibalut Base64 (selalunya JSON — format selepas menyahkod), dan menghasilkan URI data atau rentetan Basic-Auth secara manual semasa mengesan pepijat.

Untuk data binari (imej, fail), ingat apa yang anda dapat semasa menyahkod sebagai teks ialah mojibake — data mungkin sah sepenuhnya, ia hanya bukan teks. Pengekodan/penyahkodan binari sepatutnya dalam kod; alat ini dioptimumkan untuk kes teks.

Cara mendiagnosis kegagalan penyahkodan

Kegagalan penyahkodan Base64 hampir selalu berpunca daripada salah satu daripada tiga sebab, mengikut kekerapan: input sebenarnya base64url (menggunakan - dan _ dan bukan + dan / standard, biasa dalam JWT dan konteks selamat-URL) dan perlu aksara tersebut ditukar semula sebelum penyahkodan standard menerimanya; rentetan terpotong di suatu tempat sepanjang perjalanan (salin-tampal yang terlepas beberapa aksara terakhir, atau baris log yang terpotong), yang boleh dikesan kerana panjang rentetan Base64 yang sah sentiasa gandaan 4 apabila pengisi diambil kira; atau aksara sesat (ruang kosong tambahan, baris baru sesat, aksara yang tersalin dua kali secara tidak sengaja) diperkenalkan semasa menyalin, itulah sebabnya menampal terus daripada sumber mentah dan bukan menaip semula sentiasa lebih selamat.

Pemformat JSON · Pengekod / Penyahkod URL · Penyahkod JWT

Soalan lazim

Adakah Base64 penyulitan?

Tidak. Base64 ialah pengekodan boleh balik yang sesiapa sahaja boleh nyahkod — ia tidak memberikan sebarang keselamatan. Jika anda perlu melindungi data, gunakan penyulitan sebenar (seperti AES); Base64 hanya untuk menjadikan data selamat dihantar sebagai teks.

Kenapa output nyahkod saya kelihatan seperti sampah?

Sama ada input tersebut sebenarnya bukan Base64, ia telah dipotong, atau data asal adalah binari (seperti imej) dan bukan teks. Data binari tidak akan dipaparkan sebagai aksara yang boleh dibaca.

Apakah tanda = di penghujung itu?

Pengisi (padding). Base64 berfungsi dalam blok 3 bait input → 4 aksara output. Apabila panjang input tidak boleh dibahagi dengan 3, satu atau dua aksara = mengisi blok terakhir.

Adakah alat ini berfungsi dengan emoji dan aksara Cina?

Ya. Ia mengkod teks sebagai bait UTF-8 dahulu, yang merupakan pendekatan standard. Alat mudah yang menggunakan btoa() terus gagal pada mana-mana aksara di luar Latin-1 — alat ini tidak.

Adakah data saya dimuat naik ke mana-mana?

Tidak. Pengekodan dan penyahkodan berjalan sepenuhnya dalam pelayar anda dengan JavaScript. Data anda tidak pernah meninggalkan peranti anda.

Alat berkaitan