Encoder/Decoder Base64
Encoder/decoder Base64 gratis online untuk encoding dan decoding cepat, dengan fitur penanganan aman UTF-8, konversi URL-safe, pengisian otomatis, statistik real-time, dan fungsi salin yang aman. Menyediakan contoh kode multi-bahasa, pembuatan Data URI, panduan penggunaan terperinci, dan pertanyaan umum (FAQ). Antarmuka yang mudah digunakan dengan pengisian input dua arah, aksesibilitas keyboard, dan desain ramah seluler. Tidak perlu unduhan, langsung bekerja di browser Anda.
Encode (Teks → Base64)
Decode (Base64 → Teks)
Cara Menggunakan
Fitur
- Aman UTF-8: Menangani karakter non-ASCII dengan benar (dibungkus dengan encodeURIComponent/unescape).
- Dukungan URL-safe: Beralih sekali klik antara + / → - _, opsional penghapusan padding =.
- Pra-proses Sebelum Dekode: Abaikan spasi, konversi otomatis ke URL-safe, dan isi padding = secara otomatis.
- Interaksi Real-time: Input diproses seketika, dengan statistik panjang dan tingkat pertumbuhan ditampilkan.
- Kebergunaan: Salin cepat, isi dua arah antar input, aksesibilitas keyboard, ramah seluler.
- Tema Konsisten: Tanpa kelas Tailwind dark: — sepenuhnya bergaya dengan tema DaisyUI.
Apa itu Base64?
Base64 adalah metode pengkodean data biner menjadi teks ASCII, umum digunakan untuk mentransmisikan gambar atau konten file melalui protokol berbasis teks seperti JSON, XML, dan HTTP.
Ini memetakan setiap 3 byte menjadi 4 karakter yang dapat dicetak, biasanya menghasilkan peningkatan ukuran sekitar 33%.
Base64 standar menggunakan A–Z, a–z, 0–9, +, /, dan karakter padding =; varian URL-safe mengganti + dan / dengan - dan _ untuk menghindari masalah escaping di URL.
Kasus Penggunaan Umum
- Sematkan gambar atau file kecil sebagai Data URI.
- Transfer data biner antara klien dan server (misalnya, ciphertext terenkripsi, aliran terkompresi).
- Ubah teks menjadi format yang dapat dicetak untuk menghindari inkonsistensi pengkodean atau karakter tak terlihat.
FAQ & Catatan Penting
- Set karakter: Di lingkungan web, pertama-tama kodekan teks sebagai UTF-8 (alat ini menyertakan langkah ini secara otomatis).
- URL-safe: Untuk parameter atau path URL, utamakan varian URL-safe dan pertimbangkan penghapusan karakter padding.
- Padding: Beberapa implementasi mengizinkan penghilangan =; saat dekode, isi padding secara otomatis hingga kelipatan 4 karakter.
- Baris baru: MIME Base64 mungkin menyertakan baris baru; pilih "Abaikan spasi" selama dekode untuk menanganinya.
Cara Encode/Decode Base64 dalam Bahasa Pemrograman
const encoded = btoa(unescape(encodeURIComponent(text)));
// Aman URL
const urlSafe = encoded.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/g, '');
// Pra-pemrosesan: Ganti -_ dengan +/
let b64 = input.replace(/-/g, '+').replace(/_/g, '/');
if (b64.length % 4 !== 0) b64 = b64.padEnd(b64.length + (4 - (b64.length % 4)), '=');
const text = decodeURIComponent(escape(atob(b64)));
$encoded = base64_encode($text);
// Aman URL
$urlSafe = rtrim(strtr($encoded, '+/', '-_'), '=');
$b64 = strtr($input, '-_', '+/');
// Tambahkan padding '=' secara otomatis
if (strlen($b64) % 4 !== 0) $b64 .= str_repeat('=', 4 - (strlen($b64) % 4));
$text = base64_decode($b64);
import base64
encoded = base64.b64encode(text.encode('utf-8')).decode('ascii')
# Encode Aman URL (Hapus Padding)
url_safe = encoded.replace('+','-').replace('/','_').rstrip('=')
import base64
def b64_decode(s: str) -> str:
s = s.replace('-','+').replace('_','/')
s += '=' * (-len(s) % 4) # Tambahkan padding '=' secara otomatis
return base64.b64decode(s).decode('utf-8')
import (
"encoding/base64"
)
enc := base64.StdEncoding.EncodeToString([]byte(text))
// Encode Aman URL (Tanpa Padding)
urlEnc := base64.RawURLEncoding.EncodeToString([]byte(text))
import (
"encoding/base64"
)
decBytes, err := base64.StdEncoding.DecodeString(enc)
// Decode Aman URL (Tanpa Padding)
decURL, err2 := base64.RawURLEncoding.DecodeString(urlEnc)
use base64::{engine::general_purpose, Engine as _};
let enc = general_purpose::STANDARD.encode(text.as_bytes());
// Encode Aman URL (Tanpa Padding)
let url_enc = general_purpose::URL_SAFE_NO_PAD.encode(text.as_bytes());
use base64::{engine::general_purpose, Engine as _};
let dec_bytes = general_purpose::STANDARD.decode(&enc).unwrap();
let dec = String::from_utf8(dec_bytes).unwrap();
let url_dec = String::from_utf8(
general_purpose::URL_SAFE_NO_PAD.decode(&url_enc).unwrap()
).unwrap();
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String enc = Base64.getEncoder().encodeToString(text.getBytes(StandardCharsets.UTF_8));
// Encode Aman URL (Tanpa Padding)
String urlEnc = Base64.getUrlEncoder().withoutPadding().encodeToString(text.getBytes(StandardCharsets.UTF_8));
import java.nio.charset.StandardCharsets;
import java.util.Base64;
String dec = new String(Base64.getDecoder().decode(enc), StandardCharsets.UTF_8);
String urlDec = new String(Base64.getUrlDecoder().decode(urlEnc), StandardCharsets.UTF_8);