Kembali ke beranda Pengembang Encoder URL

Encoder URL

Enkode dan dekode URL

Cara menggunakan Encoder URL

Enkode dan dekode URL Alat online gratis, tanpa pendaftaran, tanpa iklan mengganggu. Gunakan sekarang.

Kapan URL encoding diperlukan?

URL hanya dapat mengandung set karakter ASCII terbatas. Spasi, karakter bahasa Indonesia, tanda baca, dan karakter non-ASCII harus di-encode sebagai urutan persen (%XX) agar dapat ditransmisikan dengan aman dalam URL. Ini sangat relevan untuk layanan web yang mengandung teks bahasa Indonesia.

Aturan encoding: Huruf (A-Z, a-z), angka (0-9), dan karakter -_.~ tidak pernah di-encode. Semua yang lain di-encode sebagai % diikuti dua digit heks yang merepresentasikan nilai byte UTF-8 karakter tersebut. Satu karakter huruf Indonesia dengan diakritik biasanya menjadi 2-3 byte (4-6 digit heks).

Frequently Asked Questions

Apa perbedaan encodeURI dan encodeURIComponent dalam JavaScript?

encodeURI mengkode URL lengkap, tidak mengkode karakter struktural yang bermakna dalam URL (/, ?, &, #, :). encodeURIComponent mengkode segalanya kecuali huruf, angka, dan -_.~*. Selalu gunakan encodeURIComponent untuk nilai parameter individual.

Apa perbedaan + dan %20 untuk spasi?

Keduanya merepresentasikan spasi dalam URL encoding, tetapi dalam konteks yang berbeda. %20 adalah representasi yang benar untuk spasi di semua komponen URL. Tanda plus hanya merepresentasikan spasi dalam application/x-www-form-urlencoded (data formulir HTML) — jangan gunakan di segmen path URL.

Mengapa double encoding bisa menjadi masalah?

Jika URL mengandung %252F, itu adalah %2F (yang merupakan encoding '/') yang di-encode. Decode sekali menghasilkan %2F; decode dua kali menghasilkan /. Double encoding terjadi saat URL di-encode lebih dari sekali. Jika server mendecode URL berkali-kali, ini bisa menjadi kerentanan keamanan (path traversal attack).

Karakter apa yang harus di-encode dalam segmen path URL?

Karakter reserved yang memiliki arti khusus harus di-encode dalam segmen path: spasi (%20), # (%23), % (%25), ? (%3F), dll. Garis miring / adalah pemisah path — untuk literal garis miring dalam segmen path, encode sebagai %2F.

Apa itu Punycode dan hubungannya dengan URL encoding?

Punycode mengonversi nama domain internasional (IDN) dengan karakter non-ASCII ke encoding yang kompatibel dengan ASCII. Berbeda dengan percent-encoding yang digunakan di path dan query, Punycode hanya berlaku untuk nama domain. Misalnya, domain dengan karakter bahasa Arab atau Cina akan dikonversi ke format Punycode untuk transmisi.

URL encoding vs Base64 vs HTML entities

URL encoding (percent-encoding) membuat data aman untuk URL. Base64 encoding membuat data biner aman untuk konteks teks (email, JSON). HTML entities membuat karakter khusus aman untuk HTML: & menjadi &amp;, < menjadi &lt;. Masing-masing memecahkan masalah yang sama (merepresentasikan data dalam set karakter terbatas) untuk konteks target yang berbeda. Menggunakan encoding yang salah untuk konteksnya menghasilkan tampilan error atau kerentanan keamanan.

☕ Buy me a coffee