A–Z a–z 0–9 + / = · base64url
Pengekod dan penyahkod Base64
Base64 menulis bait sebagai teks dengan 64 aksara boleh cetak: 5 bait "Hello" menjadi SGVsbG8=. Taip teks atau pilih fail untuk mengekodnya, atau tampal Base64 untuk menukarnya kembali kepada teks atau muat turun.
- Hello = SGVsbG8=
- Hello = SGVsbG8
- FB FF = +/8= = -_8=
Semuanya berjalan dalam tab ini dan tiada apa dimuat naik. Base64 ialah pengekodan, bukan penyulitan: sesiapa pun boleh mengembalikannya.
Scanned by NortonTM Safe Web
Sepintas lalu
- Harga
- Tiada caj
- Akaun
- Tidak diperlukan
- Piawaian
- RFC 4648 (Base64 dan Base64url), RFC 2045 (MIME), RFC 2397 (data URI)
- Perubahan saiz
- 4 aksara bagi setiap 3 bait
- Had
- 10 MB untuk teks atau fail
- Muat naik
- Tiada — teks dan fail kekal dalam tab pelayar anda
Contoh Base64
Setiap nilai di bawah dihasilkan oleh pengekod pada halaman ini. Teks dikodkan sebagai UTF-8 dahulu.
| Teks | Base64 | Base64url tanpa padding | Saiz UTF-8 |
|---|---|---|---|
| Hello | SGVsbG8= | SGVsbG8 | 5 B |
| Hello, World! | SGVsbG8sIFdvcmxkIQ== | SGVsbG8sIFdvcmxkIQ | 13 B |
| Grüße | R3LDvMOfZQ== | R3LDvMOfZQ | 7 B |
| € | 4oKs | 4oKs | 3 B |
| FB FF | +/8= | -_8 | 2 B |
| Input | Base64 | Panjang | Aksara padding |
|---|---|---|---|
| f | Zg== | 4 | 2 |
| fo | Zm8= | 4 | 1 |
| foo | Zm9v | 4 | 0 |
| foob | Zm9vYg== | 8 | 2 |
| fooba | Zm9vYmE= | 8 | 1 |
| foobar | Zm9vYmFy | 8 | 0 |
Cara mengekod dan menyahkod Base64
Pilih arah
Pilih Kod untuk menukar teks atau fail kepada Base64, atau Nyahkod untuk menukar Base64 kembali kepada asalnya. Butang Tukar menggerakkan hasil ke arah yang satu lagi.
Masukkan data
Taip atau tampal teks, atau seret fail sehingga 10 MB. Untuk penyahkodan, tampal Base64 dalam abjad standard atau URL-safe, dengan atau tanpa padding =, atau data URI.
Salin hasilnya
Salin atau muat turun hasilnya. Jika bait yang dinyahkod bukan teks, halaman menunjukkan bait pertama dalam heks, menamakan jenis fail apabila diketahui, dan membolehkan anda menyimpan bait itu sebagai fail.
Cara Base64 berfungsi
Base64 (RFC 4648) membahagikan input kepada kumpulan 3 bait, iaitu 24 bit, dan menulis setiap kumpulan sebagai 4 aksara masing-masing 6 bit daripada abjad 64 aksara: A–Z, a–z, 0–9, + dan /. Oleh itu output kira-kira satu pertiga lebih besar daripada input. Apabila input bukan gandaan 3 bait, tanda = mengisi hujung hingga gandaan 4 aksara, jadi 5 bait Hello memberi 8 aksara yang berakhir dengan satu =.
Base64url, yang ditakrifkan dalam RFC yang sama, menggantikan + dengan - dan / dengan _ supaya teks selamat dalam URL atau nama fail, dan format seperti JWT membuang padding =. Halaman ini membaca kedua-dua abjad, dengan atau tanpa padding, dan mengabaikan ruang serta pemisah baris. Teks ditukar kepada UTF-8 dahulu, jadi € menjadi 3 bait E2 82 AC dan 4oKs dalam Base64. Hadnya ialah 10 MB untuk teks atau fail.
Soalan Base64
Bagaimana saya mengekod teks kepada Base64?
Taip atau tampal teks dalam mod Kod. Base64 muncul semasa anda menaip: Hello memberi SGVsbG8=. Teks ditulis sebagai UTF-8 dahulu, jadi aksara di luar ASCII menggunakan lebih daripada satu bait: € ialah 3 bait dan memberi 4oKs.
Apakah beza antara Base64 dan Base64url?
Base64url menukar dua aksara: - menggantikan + dan _ menggantikan /. Bait FB FF ialah +/8= dalam Base64 dan -_8= dalam Base64url. Bentuk URL-safe dimaksudkan untuk URL, nama fail dan JWT, dan sering meninggalkan padding =.
Mengapa Base64 berakhir dengan tanda =?
Itu padding. Base64 bekerja dalam kumpulan 3 bait dan 4 aksara. Jika kumpulan terakhir ada 1 bait, dua tanda = mengisinya: f memberi Zg==. Jika ada 2 bait, satu = mengisinya: fo memberi Zm8=. Gandaan 3 bait tidak memerlukannya: foo memberi Zm9v.
Adakah Base64 penyulitan?
Tidak. Base64 ialah pengekodan boleh balik tanpa kunci, jadi sesiapa pun boleh menyahkodnya, dan ia tidak melindungi data. Ia menjadikan data binari selamat diletakkan dalam teks seperti e-mel, JSON, XML atau data URI.
Berapa besarkah Base64 menjadikan data saya?
Kira-kira satu pertiga lebih besar: setiap 3 bait menjadi 4 aksara, jadi 3000 bait memberi 4000 aksara. Pemisah baris setiap 76 aksara (MIME, RFC 2045) atau setiap 64 aksara (PEM, RFC 7468) menambah sedikit lagi.
Mengapa penyahkodan mengatakan bait bukan teks UTF-8 yang sah?
Base64 itu sendiri tiada masalah, tetapi bait di dalamnya bukan teks. Ia mungkin imej, fail termampat atau format binari lain. Halaman kemudian menunjukkan 64 bait pertama dalam heks, menamakan jenis fail jika diketahui, dan menawarkan bait itu sebagai muat turun.