Enkode URL (persen-encoding) adalah proses mengonversi karakter tidak aman di URL ke format %XX. URL hanya dapat berisi subset kecil karakter ASCII (huruf, angka, -_.~), semua karakter lain (termasuk Cina, spasi, karakter khusus) harus dienkode sebelum dikirimkan di URL. Misalnya, spasi menjadi %20, karakter Cina '中' menjadi %E4%B8%AD.
**encodeURIComponent vs encodeURI**: Ini adalah dua fungsi enkode yang paling sering digunakan. encodeURIComponent mengenkode lebih teliti, termasuk pemisah parameter seperti &, =, ?, sehingga cocok untuk mengenkode nilai parameter individu. encodeURI mempertahankan struktur URL (scheme://, jalur, /, ?, #), sehingga cocok untuk mengenkode URL lengkap. Penggunaan yang salah menyebabkan kesalahan parsing parameter.
**RFC 3986 vs standar lama**: RFC 3986 menganggap tilde ~ sebagai karakter aman yang tidak perlu dienkode, sedangkan standar awal mengenkodenya sebagai %7E. Menggunakan RFC 3986 mengurangi escape yang tidak perlu, meningkatkan keterbacaan URL, dan menghindari masalah parsing %7E di beberapa server.
**Mode Query Only**: Digunakan ketika Anda hanya ingin mengenkode nilai parameter di query string URL, tanpa mengubah nama kunci, tanda sama dengan, dan karakter &. Misalnya, ?name=张三 dienkode menjadi ?name=%E5%BC%A0%E4%B8%89, membiarkan nama kunci tetap dapat dibaca dan hanya mengenkode nilai.
**Penyorotan enkode**: Menyorot karakter dalam format %XX dengan warna kuning keemasan secara real-time, sehingga pengguna dapat langsung melihat karakter mana yang telah dienkode. Ini membantu memahami aturan enkode: huruf dan angka biasanya merupakan karakter aman yang tidak dienkode, hanya karakter Cina dan khusus yang dienkode. Semua perhitungan dilakukan secara lokal di browser, tidak ada data yang diunggah.