Lewati ke konten utama

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.

Panduan encoding URL