Cara menggunakan
- Pilih Kodkan atau Nyahkod.
- 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 +.
- Tampal teks anda. Hasil dikemas kini semasa anda menaip.
- 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.