Pilihan Lanjutan
Tukar + kepada Ruang
Apabila didayakan, aksara + akan ditukar kepada ruang. Ini berguna apabila menyahkodkan parameter kueri.
Mod Langsung
Apabila didayakan, teks akan dinyahkodkan secara automatik semasa anda menaip.
Pilihan ini membantu anda mengawal cara aksara yang dikodkan dinyahkodkan dalam URL anda.
Apakah penyahkodan URL?
Penyahkodan URL membalikkan persen-pengekodan: ia membaca jujukan larian %XX dalam URL yang dikodkan dan menukarnya kembali kepada aksara yang diwakilinya. Begitulah cara anda memulihkan rentetan kueri, nilai borang, atau segmen laluan yang boleh dibaca dari URL yang diserahkan kepada anda oleh pelayar, API, atau baris log.
Bagaimana penyahkodan URL berfungsi?
Penyahkodan URL mengikuti proses tertentu untuk menukar jujukan persen-dikodkan kembali kepada aksara asalnya:
- Rentetan input diimbas untuk jujukan larian persen-dikodkan (%XX)
- Setiap %XX ditukar dari dua digit heksnya kembali kepada nilai bait asal
- Bait yang dinyahkodkan secara berturut-turut disusun semula menjadi aksara UTF-8 (jujukan berbilang bait menjadi satu aksara)
- Dalam konteks rentetan kueri, + dinyahkodkan kepada ruang (application/x-www-form-urlencoded), manakala %2B kekal sebagai + literal
- Aksara tidak-terpelihara dan teks yang sudah dinyahkodkan diluluskan tanpa perubahan
Mengapa menggunakan penyahkod URL?
- Output yang boleh dibaca: tukar %20, %40, dan %3D kembali kepada ruang, @, dan = supaya anda boleh membaca apa yang sebenarnya diperkatakan oleh URL
- Teks antarabangsa: bina semula aksara beraksent dan bukan-ASCII dari jujukan bait UTF-8 mereka, supaya %C3%A9 dibaca sebagai é semula
- Penyahpepijatan: periksa nilai sebenar dalam rentetan kueri, redirect OAuth, atau muatan webhook sebelum anda bertindak ke atasnya
- Betul-piawai: nyahkodkan mengikut RFC 3986, peraturan yang sama yang digunakan oleh pelayar dan pelayan, supaya anda melihat dengan tepat apa yang mereka lihat
Apakah aplikasi biasa penyahkodan URL?
Penyahkodan URL adalah penting dalam banyak senario pembangunan web:
- Penyerahan Borang: membaca semula nilai medan asal dari data GET dan POST application/x-www-form-urlencoded
- Pembangunan API: membuka parameter laluan dan kueri persen-dikodkan yang tiba di titik hujung API
- Sistem Fail: memulihkan laluan dan nama fail yang persen-dikodkan untuk perjalanan dalam URL
- Penyahpepijatan Pautan: menyahkodkan URL yang dikongsi atau dicatat untuk melihat aksara khas dan teks antarabangsa yang dibawanya
Bagaimana rupa contoh penyahkodan URL?
Berikut adalah beberapa contoh biasa penyahkodan URL: %20 (atau +) menjadi ruang, %40 menjadi @, %23 menjadi #, %26 menjadi &, dan %3D menjadi =. Jujukan UTF-8 seperti %C3%A9 menjadi aksara antarabangsa é.
Apakah persen-pengekodan?
Persen-pengekodan adalah mekanisme yang ditakrifkan oleh RFC 3986 §2.1 untuk mewakili aksara yang tidak selamat atau terpelihara dalam URI. Peraturannya adalah mekanikal: setiap bait yang tidak boleh muncul secara literal ditulis sebagai tanda persen diikuti oleh dua digit heksadesimal — bentuk %XX — di mana XX ialah nilai bait. Aksara bukan-ASCII seperti é pertama kali dikodkan sebagai jujukan bait UTF-8 mereka, kemudian setiap bait dikodkan secara persen secara individu. Pembangun menghadapi ini hampir setiap hari: dalam rentetan kueri, penyerahan borang, URL panggil balik OAuth, parameter laluan REST API, dan di mana sahaja URL mesti membawa tanda baca, ruang, atau aksara di luar set tidak-terpelihara A–Z a–z 0–9 - _ . ~.
Bagaimana penyahkodan %C3%A9 kepada é sebenarnya berfungsi?
Ambil rentetan kueri yang dikodkan ?q=caf%C3%A9&lang=fr. Penyahkodan menghasilkan ?q=café&lang=fr. Berikut adalah panduan bait demi bait:
- Masukan:
?q=caf%C3%A9&lang=fr - Keluaran:
?q=café&lang=fr
%C3→ bait0xC3(binari11000011) — bait pimpinan jujukan UTF-8 2-bait.%A9→ bait0xA9(binari10101001) — bait kesinambungan. Digabungkan,C3 A9ialah pengekodan UTF-8 U+00E9, iaitué.- Aksara
?,=, dan&dibiarkan tidak tersentuh kerana ia adalah struktur — ia membatasi kueri dan pasangan kunci/nilainya. Literalcafjuga diluluskan, kerana huruf kecil ASCII tergolong dalam set tidak-terpelihara.
Apakah perbezaan antara decodeURIComponent dan decodeURI?
JavaScript mendedahkan dua penyahkod terbina dalam, dan mengelirukan keduanya adalah salah satu pepijat pengendalian URL yang paling biasa:
decodeURIComponent(str)menyahkodkan setiap jujukan persen-dikodkan, termasuk aksara terpelihara seperti&,=,?,/, dan#. Gunakannya pada nilai rentetan kueri individu atau segmen laluan — jangan sekali-kali pada keseluruhan URL.decodeURI(str)adalah konservatif dengan sengaja: ia melangkau aksara terpelihara. Menyuapkannya%26mengembalikan rentetan literal%26, bukan&. Ia dimaksudkan untuk URI keseluruhan di mana anda mahu struktur kekal dalam perjalanan pergi balik.
Panduan kasar: jika rentetan itu adalah sebahagian daripada URL (satu parameter, serpihan, nama fail yang dikodkan), gunakan decodeURIComponent. Alat ini berkelakuan seperti decodeURIComponent — setiap jujukan %XX dalam input anda dinyahkodkan, termasuk aksara terpelihara.
Menyahkodkan URL adalah cara anda membaca apa yang sebenarnya dikandunginya. Tampal rentetan yang dikodkan di atas dan setiap jujukan %XX bertukar kembali kepada aksaranya terus dalam pelayar anda, supaya anda boleh menyahpepijat parameter kueri, menyemak redirect OAuth, atau memulihkan nama fail beraksent tanpa menghantar apa-apa ke pelayan.