Lewati ke konten

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.

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 dalam Base64 dan Base64url
TeksBase64Base64url tanpa paddingUkuran UTF-8
HelloSGVsbG8=SGVsbG85 B
Hello, World!SGVsbG8sIFdvcmxkIQ==SGVsbG8sIFdvcmxkIQ13 B
GrüßeR3LDvMOfZQ==R3LDvMOfZQ7 B
€4oKs4oKs3 B
FB FF+/8=-_82 B
Vektor uji dari RFC 4648
InputBase64PanjangKarakter padding
fZg==42
foZm8=41
fooZm9v40
foobZm9vYg==82
foobaZm9vYmE=81
foobarZm9vYmFy80

Cara mengenkode dan mendekode Base64

1

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.

2

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.

3

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.