A–Z a–z 0–9 + / = · base64url
Enkoder dan dekoder Base64
Base64 menuliskan byte sebagai teks dengan 64 karakter yang dapat dicetak: 5 byte dari "Hello" menjadi SGVsbG8=. Ketik teks atau pilih file untuk mengenkodenya, atau tempel Base64 untuk mengubahnya kembali menjadi teks atau unduhan.
- Hello = SGVsbG8=
- Hello = SGVsbG8
- FB FF = +/8= = -_8=
Semuanya berjalan di tab ini dan tidak ada yang diunggah. Base64 adalah enkoding, bukan enkripsi: siapa pun dapat membaliknya.
Scanned by NortonTM Safe Web
Sekilas
- Harga
- Tanpa biaya
- Akun
- Tidak perlu
- Standar
- RFC 4648 (Base64 dan Base64url), RFC 2045 (MIME), RFC 2397 (data URI)
- Perubahan ukuran
- 4 karakter untuk setiap 3 byte
- Batas
- 10 MB untuk teks atau file
- Unggah
- Tidak ada — teks dan file tetap di tab browser Anda
Contoh Base64
Setiap nilai di bawah dihasilkan oleh enkoder di halaman ini. Teks dienkode sebagai UTF-8 terlebih dahulu.
| Teks | Base64 | Base64url tanpa padding | Ukuran 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 | Karakter 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 mengenkode dan mendekode Base64
Pilih arah
Pilih Enkode untuk mengubah teks atau file menjadi Base64, atau Dekode untuk mengubah Base64 kembali ke aslinya. Tombol Tukar memindahkan hasil ke arah sebaliknya.
Masukkan datanya
Ketik atau tempel teks, atau letakkan file hingga 10 MB. Untuk dekode, tempel Base64 dalam alfabet standar atau URL-safe, dengan atau tanpa padding =, atau sebuah data URI.
Salin hasilnya
Salin atau unduh hasilnya. Jika byte hasil dekode bukan teks, halaman menampilkan byte pertama dalam hex, menyebut jenis file jika diketahui, dan memungkinkan Anda menyimpan byte sebagai file.
Cara kerja Base64
Base64 (RFC 4648) membagi input menjadi kelompok 3 byte, yaitu 24 bit, dan menuliskan setiap kelompok sebagai 4 karakter masing-masing 6 bit dari alfabet 64 karakter: A–Z, a–z, 0–9, + dan /. Karena itu keluarannya sekitar sepertiga lebih besar dari input. Bila input bukan kelipatan 3 byte, tanda = mengisi bagian akhir hingga kelipatan 4 karakter, sehingga 5 byte Hello menghasilkan 8 karakter yang diakhiri satu =.
Base64url, yang didefinisikan di RFC yang sama, mengganti + dengan - dan / dengan _ agar teks aman di URL atau nama file, dan format seperti JWT membuang padding =. Halaman ini membaca kedua alfabet, dengan atau tanpa padding, dan mengabaikan spasi serta pemisah baris. Teks diubah ke UTF-8 terlebih dahulu, sehingga € menjadi 3 byte E2 82 AC dan 4oKs dalam Base64. Batasnya 10 MB untuk teks atau file.
Pertanyaan tentang Base64
Bagaimana cara mengenkode teks ke Base64?
Ketik atau tempel teks dalam mode Enkode. Base64 muncul saat Anda mengetik: Hello menghasilkan SGVsbG8=. Teks ditulis sebagai UTF-8 terlebih dahulu, sehingga karakter di luar ASCII memakai lebih dari satu byte: € adalah 3 byte dan menghasilkan 4oKs.
Apa beda Base64 dan Base64url?
Base64url menukar dua karakter: - menggantikan + dan _ menggantikan /. Byte FB FF adalah +/8= dalam Base64 dan -_8= dalam Base64url. Bentuk URL-safe dimaksudkan untuk URL, nama file, dan JWT, dan sering menghilangkan padding =.
Mengapa Base64 berakhir dengan tanda =?
Itu padding. Base64 bekerja dalam kelompok 3 byte dan 4 karakter. Jika kelompok terakhir berisi 1 byte, dua tanda = mengisinya: f menghasilkan Zg==. Jika berisi 2 byte, satu = mengisinya: fo menghasilkan Zm8=. Kelipatan 3 byte tidak memerlukannya: foo menghasilkan Zm9v.
Apakah Base64 itu enkripsi?
Bukan. Base64 adalah enkoding yang dapat dibalik tanpa kunci, jadi siapa pun dapat mendekodenya, dan ia tidak melindungi data. Ia membuat data biner aman ditempatkan dalam teks seperti email, JSON, XML, atau data URI.
Seberapa besar Base64 membuat data saya membesar?
Sekitar sepertiga lebih besar: setiap 3 byte menjadi 4 karakter, jadi 3000 byte menghasilkan 4000 karakter. Pemisah baris setiap 76 karakter (MIME, RFC 2045) atau setiap 64 karakter (PEM, RFC 7468) menambah sedikit lagi.
Mengapa dekode mengatakan byte bukan teks UTF-8 yang valid?
Base64-nya sendiri baik-baik saja, tetapi byte di dalamnya bukan teks. Isinya mungkin gambar, file terkompresi, atau format biner lain. Halaman lalu menampilkan 64 byte pertama dalam hex, menyebut jenis file jika diketahui, dan menawarkan byte sebagai unduhan.