URL Encoder/Decoder
Enkode atau dekode komponen URL menggunakan `encodeURIComponent` dan `decodeURIComponent` bawaan JavaScript.
Cara Kerja
Encoder/decoder URL mengganti karakter khusus dengan urutan persen yang aman untuk URL (dan sebaliknya) sesuai RFC 3986.
Untuk mengkode: ketik teks yang berisi spasi, karakter khusus, atau Unicode. Alat mengganti karakter yang tidak aman dengan kode %HH (mis. spasi → %20, @ → %40).
Untuk mendekode: tempel URL yang dikodekan atau string kueri dan klik Dekode untuk membaca teks asli.
Enkoding URL diperlukan untuk menyematkan data arbitrer dalam URL — misalnya nilai parameter kueri, nama file, dan jalur yang berisi karakter khusus. Alat mendukung encodeURIComponent (hanya komponen) maupun encodeURI (URL lengkap).
Contoh Praktis
Enkode café & croissants dan Anda mendapat caf%C3%A9%20%26%20croissants: é menjadi dua byte UTF-8 (%C3%A9), spasi %20, dan ampersand %26 — dan itu penting, karena & yang tak terenkode akan diam-diam membelah parameter kueri Anda jadi dua. Mode dekode membalikkan string berkode persen apa pun, dan pengurai URL membongkar alamat lengkap menjadi protokol, host, path, dan parameter kueri satu per satu, masing-masing didekode terpisah. Men-debug URL callback yang rusak berubah dari memicingkan mata ke tanda persen menjadi membaca tabel.
Kasus Penggunaan
- Membuat string kueri
- Mengenkode data formulir
- Memperbaiki URL yang rusak
- Mendekode parameter URL di log
- Menyiapkan data untuk permintaan REST API
Pertanyaan yang Sering Diajukan
- Apa perbedaan antara encodeURI dan encodeURIComponent?
- encodeURI mempertahankan karakter struktur URL (:, /, ?, #). encodeURIComponent mengkode semuanya — gunakan untuk nilai parameter.
- Mengapa spasi dikodekan sebagai %20 atau +?
- %20 adalah standar RFC 3986; + digunakan dalam data formulir (application/x-www-form-urlencoded).
- Apakah alat mendukung Unicode?
- Ya — karakter Unicode pertama dikodekan sebagai UTF-8, kemudian setiap byte sebagai %HH.
- Apakah enkoding ganda menjadi masalah?
- Ya — mengkode URL yang sudah dikodekan menyebabkan enkoding ganda (mis. %20 → %2520).
- Apakah data saya dikirim ke server?
- Tidak — enkoding dilakukan secara lokal di browser.