Apa yang dilakukan tool ini
Meng-percent-encode dan men-decode string untuk digunakan di URL. Mendukung mode component (encode setiap karakter reserved sehingga nilai aman di dalam parameter query atau segmen path) dan mode URL penuh (mempertahankan struktur https://host/path?query sambil hanya meng-encode bagian yang membutuhkannya).
Kapan menggunakannya
- Membangun query string secara manual dan perlu meng-escape spasi, ampersand, dan tanda sama dengan.
- Men-decode URL redirect yang kembali terbungkus dalam
%2Fdan%3D. - Membandingkan bentuk URL yang ter-encode terhadap allow-list.
- Memproduksi link yang dapat dibagikan yang bersih dari string dengan karakter non-ASCII.
Cara kerjanya
Encoding component menggunakan encodeURIComponent, yang meng-percent-encode setiap karakter yang bukan karakter unreserved (A-Z a-z 0-9 - _ . ! ~ * ' ( )). Encoding URL penuh menggunakan encodeURI, yang membiarkan karakter struktural reserved (: / ? # [ ] @) sendirian. Decoding menggunakan fungsi inverse, dengan urutan malformed ditandai sebagai error alih-alih dijatuhkan secara diam-diam.
Catatan
Mengapa + kadang di-decode menjadi spasi? Itu adalah konvensi application/x-www-form-urlencoded yang lebih lama yang digunakan dalam form submission, bukan encoding URL standar. RFC 3986 membiarkan + sendirian. Sebagian besar decoder hanya memperlakukan + sebagai spasi di dalam query string, tidak pernah di path.
Haruskah saya menggunakan ini di seluruh URL atau hanya satu bagian? Encode bagian-bagiannya. Jika kamu meng-encode URL penuh dengan mode component, kamu akan merusak :// dan slash path. Bangun URL dari potongan yang sudah ter-encode, atau gunakan mode URL penuh.
Apakah ini menangani Unicode? Ya. UTF-8 dulu, lalu percent-encoding pada setiap byte. café menjadi caf%C3%A9.
Tools terkait
- Base64 — mekanisme escape yang berbeda untuk biner-dalam-teks
- Formatter JSON — untuk payload body alih-alih query string