Enkod URL

Enkod dan nyahkod komponen URL

Input
Output

Apa itu enkod URL / peratus?

URL hanya boleh mengandungi set kecil watak ASCII. Apa-apa yang lain — ruang, huruf beraksen, emoji, watak terpelihara seperti `&`, `=`, `?` — mesti disandi peratus sebagai `%` diikuti oleh dua digit heksadesimal yang mewakili bait UTF-8. Ruang menjadi `%20`, `é` menjadi `%C3%A9`, tanda soal menjadi `%3F`.

Gunakan penyandian 'komponen' apabila melarikan satu bahagian (nilai parameter pertanyaan, segmen laluan) — setara dengan `encodeURIComponent` dalam JavaScript. Gunakan penyandian 'URL penuh' apabila melarikan keseluruhan URL yang sudah mempunyai pemisah struktur yang ingin anda pelihara — setara dengan `encodeURI`.

Kes penggunaan

  • Bina rentetan pertanyaan — encode peratus input pengguna sebelum disumbat ke parameter `?q=`.
  • Periksa log pelayan — nyahkod URL yang dicacatkan untuk membaca laluan asal (`/Users/%E4%B8%AD%E6%96%87/...`).
  • Nyahpepijat ubah halaan OAuth — tampal `redirect_uri` untuk melihat dengan tepat apa yang dinyahkod oleh OAuth callback.
  • Baca contoh curl — salin URL yang dipercentage-encode daripada tutorial dan nyahkod 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)

Soalan yang sering ditanya

Apakah perbezaan antara encodeURI dan encodeURIComponent?

`encodeURI` membiarkan watak struktur URL (`:`, `/`, `?`, `#`, `&`, `=`) tidak terjejas — untuk menyandi keseluruhan URL. `encodeURIComponent` juga melarikan watak-watak itu — untuk menyandi satu bahagian yang dimasukkan ke dalam URL.

Bolehkah ia mengendalikan watak bukan ASCII?

Ya. Watak di luar ASCII disandi sebagai bait UTF-8 mereka (1–4 bait), masing-masing diwakili sebagai `%XX`.

Adakah `+` ditafsirkan sebagai ruang apabila nyahkod?

Tidak. Alat ini menggunakan dekod URL standard, yang membiarkan `+` tidak berubah. Peraturan `+`-bermaksud-ruang adalah khusus untuk data borang `application/x-www-form-urlencoded`, dan alat ini tidak mempunyai mod dekod borang berasingan.

Mengapa URL saya rosak selepas disandi?

Anda menyandi karakter struktur (`:`, `/`, `?`, `#`) yang perlu kekal literal. Alat ini sentiasa melakukan penyandian komponen (`encodeURIComponent`), yang menghindarinya — jadi hanya sandi nilai pertanyaan individu atau segmen laluan, bukan keseluruhan URL.

Adakah apa-apa yang dimuat naik?

Tidak — penyandian dan nyahkod berjalan sepenuhnya di pelayar anda.