Langkau ke kandungan
ToolMug

Pengekod & Penyahkod URL

URL encode dan decode dalam talian — kodkan teks untuk digunakan dalam URL, nyahkod rentetan %-escape kembali kepada teks yang boleh dibaca, dan lihat mana-mana URL dipecahkan kepada bahagian serta parameter pertanyaannya. Pilih sama ada untuk mengekod satu parameter, keseluruhan URL atau data borang HTML.

Berjalan dalam pelayar anda — apa yang anda masukkan tidak dimuat naik

Cara menggunakan

  1. Pilih Kodkan atau Nyahkod.
  2. Pilih mod — Komponen untuk satu nilai parameter, URL penuh untuk mengekalkan struktur URL, atau Borang (+ untuk ruang) untuk data borang HTML di mana ruang menjadi +.
  3. Tampal teks anda. Hasil dikemas kini semasa anda menaip.
  4. Jika input ialah URL, protokol, hos, laluan dan parameter pertanyaannya disenaraikan di bawah.

Penerangan pilihan

Komponen
Mengekod semua aksara kecuali huruf, digit dan - _ . ~ — gunakannya untuk nilai parameter pertanyaan atau segmen laluan. Sama seperti encodeURIComponent, serta ! ' ( ) * yang dikhaskan oleh RFC 3986.
URL penuh
Membiarkan aksara yang membentuk struktur URL (: / ? # & =) dan mengekod ruang serta aksara bukan ASCII. Sama seperti encodeURI dalam JavaScript.
Borang (+ untuk ruang)
application/x-www-form-urlencoded, yang digunakan oleh borang HTML. Ruang menjadi + dan bukannya %20; semasa menyahkod, + ditukar semula kepada ruang.

Contoh

Input Komponen URL penuh Borang
a b&c a%20b%26c a%20b&c a+b%26c
café caf%C3%A9 caf%C3%A9 caf%C3%A9
https://x.com/?q=1 2 https%3A%2F%2Fx.com%2F%3Fq%3D1%202 https://x.com/?q=1%202 https%3A%2F%2Fx.com%2F%3Fq%3D1+2

Membina URL dengan parameter

Apabila anda memasukkan input pengguna ke dalam rentetan pertanyaan, kodkan setiap nilai secara berasingan:

const url = `https://example.com/search?q=${encodeURIComponent(query)}&page=2`;

Jika keseluruhan URL dikodkan di hujung, tanda & dan = di dalam nilai tidak akan dikodkan dan parameter akan rosak.

Soalan lazim

Apakah perbezaan antara %20 dan +?

Kedua-duanya boleh mewakili ruang, tetapi di tempat berbeza. %20 berfungsi di mana-mana bahagian URL; + bermaksud ruang hanya dalam rentetan pertanyaan bagi penghantaran borang. Dalam laluan, + ialah tanda tambah biasa.

Mengapa teks saya dikodkan dua kali (%2520)?

Teks itu telah dikodkan dua kali — tanda % dalam %20 turut dikodkan menjadi %25. Nyahkod dua kali, dan dalam kod anda pastikan hanya satu lapisan yang mengekod nilai itu.

Bila perlu guna encodeURI dan bila encodeURIComponent?

Gunakan encodeURIComponent (mod Komponen) untuk setiap nilai parameter yang anda masukkan ke dalam URL. Gunakan encodeURI (URL penuh) hanya untuk URL lengkap yang mungkin mengandungi ruang atau aksara bukan ASCII.

Apakah maksud "pengekodan peratus rosak"?

Tanda % tidak diikuti oleh dua digit heksadesimal, atau bait-baitnya tidak membentuk UTF-8 yang sah. Mesej ralat menunjukkan kedudukan jujukan rosak yang pertama.

Bagaimanakah aksara Cina dikodkan dalam URL?

Setiap aksara ditukar kepada bait UTF-8 dan setiap bait ditulis sebagai %XX, jadi 中 menjadi %E4%B8%AD.

Privasi

Alat ini berjalan sepenuhnya dalam pelayar anda. Fail dan teks anda diproses pada peranti anda dan tidak pernah dimuat naik ke pelayan kami.

Alat berkaitan