Tiada muat naik, 100% setempat, tiada akaun

Pengekod / Penyahkod URL

Kod aksara khas dalam URL, atau nyahkod rentetan kod-peratus. Semuanya kekal dalam pelayar anda.

Cara Pengekod / Penyahkod URL berfungsi

URL Encoder / Decoder menukar rentetan kepada dan dari pengekodan peratusan (juga dipanggil pengekodan URL), format yang diperlukan oleh RFC 3986 untuk memasukkan aksara khas dengan selamat dalam URL. Tampal rentetan mentah untuk mengenkodnya, atau tampal rentetan yang dikodkan peratusan untuk menyahkodnya kembali kepada bentuk yang boleh dibaca manusia. Penukaran berjalan sepenuhnya dalam pelayar menggunakan encodeURIComponent dan decodeURIComponent JavaScript; tiada apa yang anda taip meninggalkan peranti anda.

Pengekodan URL penting setiap kali anda membina parameter pertanyaan, URI ubah hala, atau pautan canonical secara aturcara. Ruang menjadi %20, tanda gabung menjadi %26, hash menjadi %23, dan sebagainya. Pengekodan juga berlaku pada nama domain antarabangsa dan aksara bukan ASCII dalam segmen laluan. Alat ini juga menawarkan mod encodeURI untuk mengenkodkan URI penuh sambil mengekalkan aksara struktur seperti '/', '?', dan '#'.

Cara menggunakan Pengekod / Penyahkod URL, langkah demi langkah

  1. Tampal teks yang ingin anda enkodkan atau nyahkodkan ke dalam kawasan input.
  2. Pilih 'Enkod' untuk mengenkodkan teks secara peratusan, atau 'Nyahkod' untuk membalikkan pengekodan.
  3. Pilih mod 'encodeURIComponent' untuk nilai parameter pertanyaan, atau mod 'encodeURI' untuk URI penuh.
  4. Salin hasilnya dari kawasan output.

Kes penggunaan biasa

  • Pembangun yang membina URL ubah hala carian perlu mengenkodkan rentetan pertanyaan secara peratusan supaya aksara khas tidak merosakkan struktur URL.
  • Pengintegra API menerima URL panggil balik yang dikodkan peratusan dalam muatan webhook dan perlu menyahkodnya untuk mengesahkan alamat sasaran.
  • Penyunting kandungan menyalin URL yang mengandungi aksara beraksen dari pelayar dan perlu mengenkodnya untuk digunakan dalam pautan Markdown.
  • Jurutera QA menguji titik akhir pengesahan input dengan mengenkodkan aksara sempadan seperti '<', '>', dan '&' sebelum menghantar.

Soalan lazim

Apakah perbezaan antara encodeURIComponent dan encodeURI?

encodeURIComponent mengenkodkan semua aksara kecuali huruf, digit, dan aksara - _ . ! ~ * ' ( ). Ia untuk mengenkodkan komponen individu seperti nilai parameter pertanyaan. encodeURI membiarkan aksara URI struktural (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) tidak dikodkan kerana ia menganggap input adalah URI yang lengkap. Gunakan encodeURIComponent untuk nilai, encodeURI untuk keseluruhan URL.

Adakah teks yang saya tampal di sini dihantar ke mana-mana pelayan?

Tidak. Pengekodan dan penyahkodan memanggil fungsi terbina dalam JavaScript encodeURIComponent dan decodeURIComponent, yang berjalan sepenuhnya dalam enjin JavaScript pelayar. Tiada apa yang anda taip di sini yang dihantar ke mana-mana.

Mengapa ruang kadangkala menjadi '+' dan bukannya '%20'?

Notasi '+' untuk ruang berasal dari format application/x-www-form-urlencoded lama yang digunakan dalam penghantaran borang HTML, yang berbeza daripada pengekodan peratusan RFC 3986. Alat ini menggunakan pengekodan peratusan RFC 3986 yang ketat, jadi ruang menjadi %20. Jika sistem sasaran anda menjangkakan '+' untuk ruang, anda perlu menggantikan %20 dengan '+' secara manual selepas mengenkodkan.

Bolehkah saya mengenkodkan URL penuh termasuk rentetan pertanyaannya sekaligus?

Ya, menggunakan mod 'encodeURI'. Mod tersebut mengekalkan '/', '?', '=', '&', '#', dan aksara struktur URL lain sambil mengenkodkan aksara bukan ASCII dan aksara terpelihara yang muncul dalam segmen atau nilai parameter. Gunakan 'encodeURIComponent' hanya pada nilai parameter individu, bukan URL penuh.

Adakah alat ini mengendalikan aksara Unicode dan emoji?

Ya. encodeURIComponent JavaScript pertama kali menukar aksara kepada urutan bait UTF-8, kemudian mengenkodkan setiap bait secara peratusan. Emoji seperti 'ibu jari ke atas' dikodkan kepada urutan berbilang bait seperti %F0%9F%91%8D. Penyahkodan membalikkan proses dengan betul.