Pembangun

URL Encoder / Decoder

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.

Adakah kalkulator ini membantu anda?

Apakah URL Encoder / Decoder?

URL Encoder/Decoder ialah alat pembangunan web penting yang menukar antara teks biasa dan format peratus-encoding yang selamat untuk URL. Apabila URL mengandungi ruang, simbol khas, atau huruf bukan ASCII seperti huruf beraksen dan emoji, ia akan rosak jika tidak diencoding dengan betul. Alat ini menyediakan encoding dan decoding segera dengan sokongan penuh untuk mod URL (encoding URL lengkap) dan mod komponen (encoding nilai parameter pertanyaan individu), ditambah mod kelompok untuk memproses berbilang rentetan sekaligus.

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:

  1. Taip atau tampal teks/URL yang anda mahu encode atau decode.
  2. Pilih mod Encode atau Decode.
  3. Klik butang Tukar.
  4. 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

  • Encoding dan decoding segera dengan hasil masa nyata
  • Menyokong mod URL dan mod komponen untuk konteks berbeza
  • Mod kelompok untuk mengekod atau mengekod berbilang rentetan sekaligus
  • Mengendalikan semua huruf khas termasuk Unicode dan emoji
  • 100% berasaskan pelayar — tiada data dihantar ke pelayan
  • Kiraan aksara visual untuk mengesahkan pengekodan tidak menduplikasi atau memotong input

Tips Pro

  • Sentiasa encode parameter URL yang dijana pengguna sebelum memasukkannya ke URL
  • Gunakan encodeURIComponent() dalam JavaScript untuk nilai parameter pertanyaan individu
  • Decode URL sebelum memaparkannya kepada pengguna untuk keterbacaan
  • Berhati-hati dengan pengekodan berganda: jika anda melihat %25 diikuti lebih banyak digit heksadesimal, URL mungkin telah diencode dua kali
  • Gunakan mod komponen semasa membina rentetan pertanyaan dan mod URL semasa mengekod keseluruhan laluan URL atau URL penuh

Kesilapan Biasa

  • Pengekodan berganda URL dengan mengekod URL yang telah diencode, menukar %20 kepada %2520
  • Menggunakan konteks encoding yang salah — mod URL dan mod komponen menghasilkan output berbeza
  • Lupa bahawa + hanya mewakili ruang dalam data application/x-www-form-urlencoded
  • Tidak mengendalikan aksara bukan-ASCII dengan betul — sentiasa pastikan pengekodan UTF-8 sebelum pengekodan peratus

Istilah Utama

Pengekodan peratus: Mekanisme standard untuk mengekod huruf dalam URL, menggantikan huruf tidak selamat dengan % diikuti kod ASCII heksadesimal dua digit
Rentetan pertanyaan: Bahagian URL selepas huruf ?, mengandungi pasangan nilai-kunci dipisahkan oleh &
Huruf yang dikhususkan: Huruf seperti :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = dengan makna sintaksis khusus dalam URL mengikut RFC 3986
Mod komponen berbanding mod URL: Mod komponen mengekod lebih banyak huruf dan untuk nilai individu; mod URL mengekalkan struktur URL untuk laluan lengkap

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

Contoh

Mengekod "Hello World & Friends!" → "Hello%20World%20%26%20Friends%21". Menyahkod "search%3Fq%3Dhello+world" → "search?q=hello world".

Mentafsir Hasil

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 &amp; bagi & atau &lt; 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 &amp; bagi & atau &#8364; 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.

Terokai Lebih Banyak Alat

Pilihan segar dari seluruh perpustakaan alat kami.