Cara men-decode string yang di-encode untuk URL
Decoding membalik percent-encoding: setiap urutan %XX menjadi satu byte, lalu byte-byte itu dibaca sebagai teks UTF-8. Mode Komponen memakai decodeURIComponent(), sehingga hasilnya persis nilai aslinya.
Contoh langkah demi langkah
Urutan UTF-8 multibyte menjadi satu karakter.
- Masukan
- caf%C3%A9%20%26%20cr%C3%A8me
- Hasil ·
decodeURIComponent() - café & crème
%20 menjadi spasi, tetapi + tetap menjadi tanda plus harfiah.
- Masukan
- a+b%20c
- Hasil ·
decodeURIComponent() - a+b c
Urutan terakhir kekurangan satu digit heksadesimal, sehingga alat menampilkan galat.
- Masukan
- %E0%A4%A
- Hasil ·
decodeURIComponent() - URL terenkode tidak valid
Setelah digit yang hilang dilengkapi, ketiga byte menjadi satu huruf Dewanagari.
- Masukan
- %E0%A4%A4
- Hasil ·
decodeURIComponent() - त
Cara alat ini menanganinya
- Setiap urutan %XX adalah satu byte, dan byte yang berurutan di-decode bersama sebagai UTF-8, jadi %C3%A9 menjadi é.
- Tanda plus tidak dianggap spasi: + tetap +. Jika teks berasal dari formulir HTML, ganti + dengan %20 sebelum men-decode.
- Jika ada urutan yang tidak lengkap atau bukan UTF-8 yang valid, seluruh masukan ditolak dengan pesan galat; tidak ada yang di-decode setengah jalan.
- Mode URL lengkap (decodeURI) membiarkan escape karakter cadangan seperti %26, %2F, dan %3F tetap ter-encode agar struktur URL tidak berubah.