Kode URL

Mengkodekan dan mendekodekan komponen URL

Input
Output

Apa itu URL / pengkodean persentase?

URL hanya dapat berisi sekumpulan kecil karakter ASCII. Apa pun yang lain — spasi, huruf beraksen, emoji, karakter yang dicadangkan seperti `&`, `=`, `?` — harus dikodekan persentase sebagai `%` diikuti oleh dua digit heksadesimal yang mewakili byte UTF-8. Sebuah spasi menjadi `%20`, `é` menjadi `%C3%A9`, tanda tanya menjadi `%3F`.

Gunakan pengkodean 'komponen' saat melarikan diri dari satu bagian (nilai parameter kueri, segmen jalur) — setara dengan `encodeURIComponent` JavaScript. Gunakan pengkodean 'URL penuh' saat melarikan diri dari seluruh URL yang sudah memiliki pemisah struktural yang ingin Anda pertahankan — setara dengan `encodeURI`.

Kasus penggunaan

  • Membangun string kueri — kodekan input pengguna sebelum dimasukkan ke dalam parameter `?q=`.
  • Memeriksa log server — dekode URL yang rusak untuk membaca jalur asli (`/Users/%E4%B8%AD%E6%96%87/...`).
  • Debug pengalihan OAuth — tempel `redirect_uri` untuk melihat dengan tepat apa yang didekodekan oleh callback OAuth.
  • Baca contoh curl — salin URL yang dikodekan persentase dari tutorial dan dekode untuk memahami permintaan.

Contoh

InputHasil
hello world & friendshello%20world%20%26%20friends
café/menu?id=123caf%C3%A9%2Fmenu%3Fid%3D123 (component) or caf%C3%A9/menu?id=123 (full URL)

Pertanyaan yang sering diajukan

Apa perbedaan antara encodeURI dan encodeURIComponent?

`encodeURI` membiarkan karakter struktural URL (`:`, `/`, `?`, `#`, `&`, `=`) tidak tersentuh — untuk mengkodekan seluruh URL. `encodeURIComponent` juga melarikan diri dari karakter tersebut — untuk mengkodekan satu bagian yang masuk ke dalam URL.

Bisakah itu menangani karakter non-ASCII?

Ya. Karakter di luar ASCII dikodekan sebagai byte UTF-8 mereka (1–4 byte), masing-masing diwakili sebagai `%XX`.

Apakah `+` diartikan sebagai spasi saat mendekode?

Tidak. Alat ini menggunakan dekode URL standar, yang membiarkan `+` tidak berubah. Aturan `+` berarti spasi khusus untuk data formulir `application/x-www-form-urlencoded`, dan alat ini tidak memiliki mode dekode formulir terpisah.

Mengapa URL saya rusak setelah dikodekan?

Anda telah mengkodekan karakter struktural (`:`, `/`, `?`, `#`) yang perlu tetap literal. Alat ini selalu melakukan pengkodean komponen (`encodeURIComponent`), yang menghindari mereka — jadi hanya kodekan nilai kueri individu atau segmen jalur, bukan seluruh URL.

Apakah ada yang diunggah?

Tidak — pengkodean dan dekode berjalan sepenuhnya di browser Anda.