Ruangan, simbol dan aksara khas merosakkan URL — pengekodan peratus menyelesaikannya. Encode mana-mana URL untuk penghantaran selamat, atau decode semula kepada teks yang boleh dibaca, serta-merta.
Memuatkan kalkulator...
Adakah kalkulator ini membantu anda?
Apakah Pengekod/Penyahkod URL?
Pengekod/Penyahkod URL menukar antara teks biasa dan format encode-peratus yang selamat untuk URL. Penting untuk pembangun web yang bekerja dengan parameter pertanyaan, permintaan API, dan penghalaan URL.
Bila Menggunakan Kalkulator Ini
Anda membina URL dengan parameter pertanyaan yang mengandungi ruang, simbol, atau aksara bukan-ASCII
Anda perlu menyahkod URL yang diencode-peratus untuk membaca kandungan sebenarnya
Anda menyahpepijat API yang menolak URL anda kerana aksara khas yang tidak diencode
Anda memproses URL yang dihantar oleh pengguna yang perlu dibersihkan sebelum digunakan
Anda perlu mengekod atau menyahkod berbilang segmen URL sekaligus
Anda membina ubah hala atau URL panggil balik di mana parameter mesti diencode dengan betul
Langkah:
Taip atau tampal teks/URL yang anda mahu encode atau decode.
Pilih mod Encode atau Decode.
Klik butang Tukar.
Salin hasil untuk digunakan dalam aplikasi anda.
Rumus
Encode: Aksara tidak selamat → % + kod heksa 2 digit ➡ Decode: %XX → Aksara asal
Kes Penggunaan
Membina rentetan pertanyaan yang selamat untuk URL
Memproses parameter permintaan API
Menyahpepijat URL yang diencode
Mencipta slug dan laluan yang mesra URL
Faedah Utama
Encode dan decode serta-merta
Mengendalikan semua aksara khas
Berfungsi sepenuhnya dalam pelayar
Percuma tanpa perlu mendaftar
Tips Pro
Sentiasa encode parameter URL yang dijana oleh pengguna
Gunakan encodeURIComponent() untuk parameter pertanyaan dalam JavaScript
Decode URL sebelum memaparkannya kepada pengguna untuk kebolehbacaan
Kesilapan Biasa
Mengencode URL dua kali secara tidak sengaja
Menggunakan pengekodan yang salah untuk konteks yang salah (URL vs HTML)
Lupa bahawa + mewakili ruang dalam rentetan pertanyaan tetapi bukan dalam segmen laluan
Istilah Utama
Pengekodan URL: Pengekodan peratus untuk URL yang selamat
Pengekodan peratus: % diikuti kod heksadesimal
Rentetan pertanyaan: Parameter selepas ? dalam URL
Aksara terpelihara: Aksara dengan makna khas dalam URL
Konsep Berkaitan
Pengekodan Peratus: Mekanisme menggantikan aksara tidak selamat dengan % diikuti kod heksadesimal ASCII dua digitnya untuk penghantaran URL yang selamat
Rentetan Pertanyaan: Bahagian URL selepas aksara ?, mengandungi pasangan kunci-nilai yang dipisahkan oleh aksara &
Aksara Terpelihara: Aksara seperti :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = yang mempunyai makna khas dalam sintaks URL mengikut RFC 3986
Aksara Selamat-URL: Aksara tidak terpelihara (huruf, digit, -, _, ., ~) yang tidak memerlukan pengekodan dalam URL
encodeURIComponent vs. encodeURI: Fungsi JavaScript di mana encodeURIComponent mengekod segala-galanya kecuali huruf, digit, dan _*-.~ untuk nilai individu, manakala encodeURI mengekalkan aksara struktur URL untuk URL penuh
Pengekod menukar aksara URL yang tidak selamat (ruang, &, ?, #, bukan-ASCII, dll.) kepada format encode-peratus di mana setiap aksara menjadi % diikuti kod heksadesimal dua digitnya. Penyahkod memulihkan proses ini, memulihkan teks asal yang boleh dibaca. Kiraan aksara membantu anda mengesahkan bahawa pengekodan tidak menduplikasi atau memotong input anda secara tidak disangka.
Mod komponen mengekod set aksara yang lebih luas dan direka untuk mengekod nilai parameter pertanyaan individu. Mod URL lebih ketat tentang apa yang diencode dan direka untuk mengekod laluan URL penuh atau URL lengkap. Gunakan mod komponen apabila anda membina rentetan pertanyaan dan mod URL apabila anda mengekod URL lengkap.
Mod kelompok membolehkan anda mengekod atau menyahkod beberapa baris sekaligus, berguna apabila anda mempunyai senarai URL atau parameter untuk diproses. Setiap baris dianggap sebagai input berasingan, dan semua hasil dipaparkan bersama untuk memudahkan penyalinan.
Soalan Lazim
Mengapa URL perlu diencode?
URL hanya boleh mengandungi aksara ASCII tertentu. Aksara seperti ruang, &, ?, #, dan aksara bukan-ASCII mesti diencode (diencode-peratus) untuk memastikan penghantaran selamat melalui internet.
Apakah pengekodan peratus?
Pengekodan peratus menggantikan aksara tidak selamat dengan tanda % diikuti kod heksadesimal dua digitnya. Contohnya, ruang menjadi %20 dan & menjadi %26.
Adakah pengekodan URL sama dengan pengekodan HTML?
Tidak. Pengekodan URL (pengekodan peratus) adalah untuk URL. Pengekodan HTML menggunakan entiti seperti & bagi & atau < bagi <. Kedua-duanya mempunyai tujuan berbeza dalam pembangunan web.
Bilakah saya patut menggunakan mod URL berbanding mod komponen?
Gunakan mod komponen apabila mengekod satu nilai parameter pertanyaan (contohnya, istilah carian). Gunakan mod URL apabila mengekod laluan URL penuh atau apabila anda perlukan keseluruhan rentetan menjadi selamat-URL. Mod komponen mengekod lebih banyak aksara kerana ia menganggap nilai itu akan diletakkan di dalam struktur URL.
Mengapa pengekodan 'Hello World' memberikan 'Hello%20World' dan bukan 'Hello+World'?
Dalam segmen laluan URL, ruang diencode sebagai %20. Pengekodan + untuk ruang hanya digunakan dalam data application/x-www-form-urlencoded (penghantaran borang HTML). Amalan terbaik moden ialah menggunakan %20 secara konsisten dalam URL. Kalkulator ini menggunakan %20 untuk pengekodan URL.
Bolehkah saya mengekod aksara bukan-ASCII seperti emoji atau huruf beraksen?
Boleh. Aksara bukan-ASCII mula-mula ditukar kepada bait UTF-8, kemudian setiap bait diencode-peratus. Contohnya, emoji ☺ (U+1F600) menjadi %F0%9F%98%80. Aksara beraksen seperti é (U+00E9) menjadi %C3%A9. Ini adalah pendekatan standard yang ditakrifkan dalam RFC 3986.
Apakah perbezaan antara ini dengan pengekodan entiti HTML?
Pengekodan URL (pengekodan peratus) adalah untuk URL — ia menukar aksara kepada kod heksa %XX. Pengekodan entiti HTML menukar aksara kepada entiti bernama atau berangka seperti & bagi & atau € bagi €. Kedua-duanya berfungsi untuk tujuan yang berbeza sama sekali dan tidak boleh ditukar ganti.
Mengapa sesetengah URL berfungsi tanpa diencode walaupun mengandungi aksara khas?
Pelayar moden mengencode URL secara automatik apabila anda mengarahkannya atau menghantar borang. Walau bagaimanapun, apabila anda membina URL secara atur cara (dalam kod, panggilan API, atau ubah hala sebelah pelayan), anda mesti mengekod secara manual kerana pelayan tidak akan melakukannya untuk anda.
Adakah terdapat risiko pengekodan berganda?
Ya. Jika anda mengekod URL yang telah diencode, %20 menjadi %2520, yang tidak betul. Sentiasa semak sama ada input anda sudah diencode sebelum mengekod semula. Kalkulator ini menunjukkan output yang dinyahkod supaya anda boleh mengesahkan hasil adalah betul.
Bagaimana saya mengendalikan URL yang diencode dalam JavaScript?
Gunakan decodeURIComponent() untuk menyahkod dan encodeURIComponent() untuk mengekod nilai individu. Untuk URL penuh, gunakan decodeURI() dan encodeURI() yang mengekalkan aksara struktur URL (/, ?, #, dll.). Jangan sesekali gunakan escape() atau unescape() — ia telah usang dan tidak mengendalikan Unicode dengan betul.