URL Encoder & Decoder
Percent-encode teks untuk URL dan query string, dekode URL yang terenkode, dan pecah URL apa pun menjadi bagian-bagiannya dengan parameter query yang sudah didekode.
Berjalan di browser AndaTanpa daftarTidak ada yang diunggah
Komponen
Parameter query
Cara menggunakan URL Encode / Decode
- Pilih Enkode atau Dekode.
- Saat mengenkode, pilih Komponen untuk satu nilai query atau segmen path, URL lengkap untuk mempertahankan struktur URL, atau Data form untuk
application/x-www-form-urlencoded. - Tempel teks Anda. Hasilnya langsung muncul; escape yang rusak dilaporkan beserta posisinya.
- Tempel URL lengkap ke Parser URL untuk melihat host, path, fragmen, dan setiap parameter query yang sudah didekode.
Apa itu URL encoding?
URL hanya boleh berisi sekumpulan terbatas karakter ASCII (RFC 3986). Semua karakter lain, termasuk spasi, huruf non-Inggris, dan karakter yang memiliki arti khusus seperti &, ? dan #, ditulis sebagai tanda persen diikuti dua digit hex untuk setiap byte UTF-8. Spasi menjadi %20 dan é menjadi %C3%A9.
encodeURIComponent vs. encodeURI
| Fungsi | Tidak diubah | Gunakan untuk |
|---|---|---|
encodeURIComponent | A-Z a-z 0-9 - _ . ~ | Satu nilai query, segmen path, atau nama parameter |
encodeURI | Juga : / ? # [ ] @ ! $ & ' ( ) * + , ; = | URL utuh yang strukturnya harus tetap terjaga |
Memakai encodeURI pada nilai query adalah bug klasik: & di dalam nilai tidak di-escape, sehingga memecah parameter menjadi dua. Mode Komponen di tool ini juga meng-escape ! ' ( ) * agar sesuai ketat dengan RFC 3986.
%20 atau + untuk spasi?
Di path, spasi harus ditulis %20. Di pengiriman form HTML (application/x-www-form-urlencoded) dan banyak query string, spasi ditulis sebagai +. Saat mendekode, aktifkan Anggap + sebagai spasi untuk data form, dan matikan jika tanda plus literal itu penting, seperti di jane+test@example.com.
Pertanyaan yang sering diajukan
Mengapa muncul “Escape rusak” saat mendekode?
% harus diikuti tepat dua digit hex. Tanda persen literal, seperti pada “diskon 50%”, seharusnya dienkode sebagai %25. Pesan error menunjukkan posisi urutan yang bermasalah.Apa arti “Urutan byte UTF-8 tidak valid”?
%E9 untuk é, bukan %C3%A9), atau string terpotong di tengah karakter.Sebaiknya mengenkode seluruh URL atau hanya parameternya?
= dan &. Mengenkode URL lengkap dengan mode komponen juga akan meng-escape :// dan merusaknya.Apakah encoding ganda menjadi masalah?
%20 menjadi %2520. Jika Anda melihat %25 diikuti digit hex, nilainya kemungkinan dienkode dua kali. Dekode dua kali untuk mendapatkan aslinya.