URL Encoder

Pengekod / Penyahkod URL

Encode sebarang teks menjadi rentetan percent-encoding yang selamat untuk URL, atau nyahkod URL berkod kembali kepada teks biasa. Pratonton langsung, selamat UTF-8, dan dijalankan sepenuhnya dalam pelayar anda.

Component (encodeURIComponent) escape segala-galanya yang bukan aksara unreserved — paling selamat untuk nilai query-string, segmen path, atau sebarang medan tunggal. URI (encodeURI) mengekalkan aksara struktur URL (:/?#=&) — gunakannya pada URL penuh. Form (application/x-www-form-urlencoded) ialah Component + ruang menjadi '+' — yang digunakan oleh borang HTML.

RFC 3986 mentakrifkan satu set aksara "unreserved" yang tidak memerlukan pengekodan: A-Z a-z 0-9 - _. ~. Apa-apa lain di-percent-encode. encodeURIComponent juga mengekod :/?#&= yang dibiarkan oleh encodeURI. Perbezaan ini penting apabila anda mengekod nilai query berbanding URL penuh.

Teks biasa

0 aksara

Output berkod

0 aksara

Mengapa iKit URL Encoder

Pantas, tepat, hanya dalam pelayar — dibina untuk pembangun, penulis salinan, dan sesiapa yang sedang debug URL.

Tiga mod pengekodan

Pilih mod Component, URI Penuh, atau Form bergantung pada apa yang anda kodkan — nilai query-string, URL penuh, atau payload borang HTML.

Privasi secara reka bentuk

Setiap encode dan decode berlaku dalam pelayar anda menggunakan JavaScript asli. Teks dan URL anda tidak pernah meninggalkan peranti anda.

Pratonton langsung

Output dikemas kini pada setiap ketukan kekunci — tiada butang "Encode" untuk diklik, tiada round-trip ke pelayan.

Selamat UTF-8

Emoji, aksara CJK, Latin beraksen, dan Cyrillic round-trip dengan betul melalui encodeURIComponent dan kembali.

Pengendalian + gaya borang

Semasa decode, secara pilihan anggap '+' sebagai ruang — konvensyen yang digunakan borang HTML di bawah application/x-www-form-urlencoded.

Pemprosesan fail pukal

Lepaskan fail.txt,.csv, atau.json untuk encode atau decode dalam satu langkah. Output dimuat turun sebagai.txt yang bersih.

Bagaimana pengekodan URL sebenarnya berfungsi

Tiga API pelayar asli, tiga mod, semuanya berjalan dalam halaman yang anda baca ini.

  1. 1

    Anda menaip ke dalam editor

    Pada setiap ketukan kekunci, rentetan input dihantar kepada fungsi JavaScript kecil. Tiada debounce, tiada panggilan API, tiada fetch — fungsi ini berjalan secara serentak dalam tab pelayar anda.

  2. 2

    Pilih mod

    Component memanggil encodeURIComponent — escape segala-galanya yang bukan A-Z a-z 0-9 - _. ~. URI memanggil encodeURI — mengekalkan :/?#=& supaya URL penuh kekal sah. Form menggunakan encodeURIComponent dan menggantikan ruang dengan + mengikut application/x-www-form-urlencoded.

  3. 3

    UTF-8 berlaku secara

    Kedua-dua encodeURIComponent dan encodeURI secara dalaman menukar rentetan kepada bait UTF-8 sebelum percent-encoding setiap bait yang tidak selamat. Itu bermakna %E4%B8%AD untuk aksara Cina 中 — tepat seperti yang dikehendaki RFC 3986.

  4. 4

    Output muncul secara langsung

    Hasilnya ditetapkan sebagai nilai output baca-sahaja. Klik Salin untuk meletakkannya pada papan klip anda melalui navigator.clipboard.writeText, atau Muat Turun untuk menyimpannya sebagai .txt melalui Blob URL — kedua-duanya kekal dalam pelayar anda.

Kes penggunaan biasa

Situasi sebenar di mana mod pengekodan yang betul mencegah pepijat.

Membina nilai query-string

Sebarang input pengguna yang anda letakkan ke dalam ?q=... mesti dikodkan dengan mod Component. Mod URI akan membiarkan = dan & mentah, merosakkan URL anda apabila nilai itu mengandunginya.

Berkongsi URL panjang dalam sembang

Sesetengah aplikasi sembang dan PDF merosakkan pautan apabila ia mengandungi ruang mentah atau aksara bukan-ASCII. Jalankan URL melalui mod URI untuk menjadikannya selamat untuk salin-tampal di mana-mana.

Debug backend yang mengembalikan 400

Apabila API anda menolak permintaan, tampal URL ke dalam mod Decode untuk melihat apa yang sebenarnya dilihat oleh pelayan. Nilai double-encoded (di mana % sendiri telah dikodkan sebagai %25) muncul serta-merta.

Round-trip data borang

Apabila debug badan POST dalam application/x-www-form-urlencoded, decode dengan togol "+ sebagai ruang" dihidupkan. Itulah konvensyen yang digunakan pelayar, dan terlupa adalah punca #1 pepijat "mengapa nama pengguna saya muncul dengan tanda tambah".

Mengapa pengekodan setempat penting

URL yang anda kodkan selalunya mengandungi e-mel pelanggan sebenar, ID, atau token sesi — tepat jenis data yang anda tidak mahu tampal ke dalam alat pelayan orang asing. iKit URL Encoder berjalan sebagai JavaScript yang sudah dimuatkan dalam pelayar anda, jadi input tidak pernah meninggalkan tab anda.

  • Tiada fetch, XHR, atau beacon semasa encode atau decode.
  • Berfungsi luar talian sebaik halaman dimuatkan.
  • Tiada log, tiada had kadar, tiada pendaftaran, tiada kuota harian.

Panduan berkaitan

Tutorial mendalam dan perbandingan alat daripada blog iKit.

Soalan Lazim

Apakah perbezaan antara mod Component, URI, dan Form?

Component (encodeURIComponent) escape segala-galanya yang bukan aksara unreserved — paling selamat untuk nilai query-string, segmen path, atau sebarang medan tunggal. URI (encodeURI) mengekalkan aksara struktur URL (:/?#=&) — gunakannya pada URL penuh. Form (application/x-www-form-urlencoded) ialah Component + ruang menjadi '+' — yang digunakan oleh borang HTML.

Mengapa sesetengah aksara tidak dikodkan?

RFC 3986 mentakrifkan satu set aksara "unreserved" yang tidak memerlukan pengekodan: A-Z a-z 0-9 - _. ~. Apa-apa lain di-percent-encode. encodeURIComponent juga mengekod :/?#&= yang dibiarkan oleh encodeURI. Perbezaan ini penting apabila anda mengekod nilai query berbanding URL penuh.

Mengapa teks yang dinyahkod kelihatan salah?

Tiga punca biasa: (1) yang asal adalah Form-encoded jadi '+' patut dianggap ruang — togol pilihan itu. (2) Double-encoded — input dikodkan dua kali; decode sekali lagi. (3) Urutan percent tidak sah — % terbiar tanpa diikuti dua digit hex. Periksa mesej ralat untuk kedudukan bait yang tepat.

Adakah URL yang dikodkan sama persis dengan encodeURIComponent JavaScript?

Ya untuk mod Component — kami memanggil encodeURIComponent secara langsung. Mod Form menambah pelarasan pengekodan borang standard (! ' * menjadi %21 %27 %28 %29 %2A) menurut RFC 3986 + WHATWG. Mod URI memanggil encodeURI, yang merupakan apa yang dimaksudkan oleh kebanyakan bahasa dengan 'percent-encode URL'.

Adakah URL saya dimuat naik ke mana-mana?

Tidak. Keseluruhan alat ini ialah JavaScript di dalam halaman ini — pengekodan dan penyahkodan berlaku dalam pelayar anda. Anda boleh sahkan dengan membuka DevTools → Network dan perhati: tiada permintaan dihantar semasa operasi encode atau decode.