Langkau ke kandungan

%20 · %C3%A9 · encodeURIComponent

Pengekod dan penyahkod URL

Pengekodan URL menggantikan aksara tidak selamat dengan % dan dua digit heks: ruang menjadi %20 dan é menjadi %C3%A9. Pilih kod, nyahkod atau hurai, kemudian taip atau tampal teks anda.

Semuanya berjalan dalam tab ini dan tiada apa dimuat naik. Teks bukan ASCII ditukar kepada UTF-8 sebelum di-escape.

Scanned by NortonTM Safe Web

Sepintas lalu

Harga
Tiada caj
Akaun
Tidak diperlukan
Piawaian
RFC 3986 (URI), WHATWG URL Standard
Mod
Kod, nyahkod dan hurai
Set aksara
UTF-8
Muat naik
Tiada — teks kekal dalam tab pelayar anda

Percent-encoding bagi aksara lazim

Setiap sel dihasilkan oleh pengekod dan penyahkod pada halaman ini. Simbol ␣ mewakili ruang.

Mengekod satu aksara
AksaraencodeURIComponentencodeURIBorang (+ untuk ruang)
␣%20%20+
!!!%21
"%22%22%22
#%23#%23
$%24$%24
%%25%25%25
&%26&%26
'''%27
(((%28
)))%29
****
+%2B+%2B
,%2C,%2C
/%2F/%2F
:%3A:%3A
;%3B;%3B
=%3D=%3D
?%3F?%3F
@%40@%40
[%5B%5B%5B
]%5D%5D%5D
~~~%7E
é%C3%A9%C3%A9%C3%A9
€%E2%82%AC%E2%82%AC%E2%82%AC
😀%F0%9F%98%80%F0%9F%98%80%F0%9F%98%80
Menyahkod satu escape
EscapedecodeURIComponentdecodeURIBorang
%2F/%2F/
%3F?%3F?
%23#%23#
%20␣␣␣
%2B+%2B+
%41AAA

Cara mengekod atau menyahkod URL

1

Pilih mod

Pilih Kod untuk meng-escape teks, Nyahkod untuk membaca teks ter-escape, atau Hurai untuk memecahkan keseluruhan URL kepada protokol, hos, laluan, pertanyaan dan serpihan.

2

Pilih kaedah

Untuk satu nilai, seperti parameter pertanyaan, gunakan kaedah komponen. Untuk alamat lengkap, gunakan kaedah URL penuh. Gunakan kaedah borang untuk data yang dihantar oleh borang HTML.

3

Tampal dan salin

Taip atau tampal teks anda. Hasil dikemas kini semasa anda menaip dan ada butang Salin. Jujukan % yang rosak dilaporkan bersama kedudukannya.

Cara percent-encoding berfungsi

Percent-encoding (RFC 3986) menulis satu bait sebagai % diikuti dua digit heksadesimal. Teks ditukar kepada UTF-8 dahulu, jadi é ialah 2 bait (%C3%A9), € ialah 3 bait (%E2%82%AC) dan 😀 ialah 4 bait (%F0%9F%98%80). Huruf, digit dan - _ . ~ tidak pernah perlu dikodkan. Aksara terpelihara seperti / ? # & = + dan : mempunyai tugas dalam URL, jadi sama ada ia dikodkan bergantung pada ke mana teks itu pergi.

encodeURIComponent untuk satu bahagian URL, seperti nilai pertanyaan: ia mengekod / ? # & = + dan :. encodeURI untuk seluruh URL: ia membiarkan aksara itu supaya alamat mengekalkan strukturnya. Pengekodan borang (application/x-www-form-urlencoded) menulis ruang sebagai + dan bukan %20, dan turut mengekod ~ dan ! ' ( ). Penyahkodan menolak % yang tidak diikuti dua digit heks dan melaporkan kedudukannya.

Soalan pengekodan URL

Apakah beza antara encodeURI dan encodeURIComponent?

encodeURIComponent mengekod segala-galanya kecuali huruf, digit dan - _ . ! ~ * ' ( ), jadi ia turut mengekod / ? # & = + dan :. encodeURI mengekalkan aksara itu supaya seluruh URL masih berfungsi. Gunakan kaedah komponen untuk satu nilai, seperti a/b menjadi a%2Fb, dan encodeURI untuk alamat penuh.

Mengapa ruang ialah %20 di satu tempat dan + di tempat lain?

%20 ialah percent-encoding bagi ruang dan sah di mana-mana dalam URL. + untuk ruang hanya milik pengekodan borang (application/x-www-form-urlencoded), format rentetan pertanyaan yang dihantar oleh borang HTML. Tanda tambah sebenar ialah %2B dalam kedua-duanya.

Bagaimana saya mengekod aksara Unicode dalam URL?

Tukar teks kepada UTF-8, kemudian tulis setiap bait sebagai %XX. é memberi %C3%A9, € memberi %E2%82%AC dan 😀 memberi %F0%9F%98%80. Halaman ini melakukannya dalam setiap kaedah kod.

Aksara manakah yang mesti dikodkan dalam URL?

Ruang, petikan berganda, < dan > serta semua aksara bukan ASCII sentiasa dikodkan. Huruf, digit dan - _ . ~ tidak pernah. Aksara terpelihara seperti ? dan & dikodkan hanya apabila ia data dan bukan sebahagian daripada struktur URL.

Mengapa penyahkodan melaporkan jujukan peratus yang tidak sah?

% mesti diikuti dua digit heksadesimal. 100% gagal kerana tiada apa mengikuti %, begitu juga ab%zz. Halaman melaporkan kedudukan % yang salah. Bait ter-escape yang tidak membentuk UTF-8 yang sah, seperti %FF, turut dilaporkan.

Bolehkah halaman ini memecahkan URL kepada bahagian?

Boleh. Mod Hurai menggunakan penghurai URL pelayar untuk menyenaraikan protokol, nama pengguna, hos, port, laluan, pertanyaan dan serpihan, serta menunjukkan setiap parameter pertanyaan dengan nilai yang dinyahkod. Kata laluan dalam URL dilaporkan sebagai ada dan tidak pernah dicetak.