Cara memakai
- Tempel teks atau tautan ke Teks atau URL.
- Pilih Enkode atau Dekode di Tindakan.
- Untuk satu nilai, seperti kata pencarian, biarkan Cakupan pada Satu nilai. Untuk tautan utuh, pilih URL utuh.
- Baca Hasil, dan tabel Parameter kueri bila teksnya berupa tautan dengan kueri.
Apa yang dilakukan pengodean persen
Alamat web hanya boleh memuat sekumpulan kecil karakter. Setiap karakter lain ditulis sebagai tanda % dan dua digit heksadesimal untuk setiap byte bentuk UTF-8-nya. Huruf ç karena itu menjadi %C3%A7, dan spasi menjadi %20. Aturannya ada di RFC 3986, bagian 2.1.
ç → byte UTF-8 C3 A7 → %C3%A7
- Enkode dengan Satu nilai hanya menyisakan huruf A sampai Z dan a sampai z, digit 0 sampai 9, dan - _ . ! ~ * ' ( ) apa adanya.
- Dekode mengubah setiap %XX yang sah kembali menjadi byte-nya, dan byte-byte itu kembali menjadi huruf yang dibentuknya.
Satu nilai atau URL utuh
Satu nilai juga mengenkode pemisah (: / ? # & = dan +), sehingga nilai kueri tidak bisa merusak struktur alamat. URL utuh membiarkan pemisah itu, sehingga tautan tetap berbentuk seperti semula. Saat mendekode URL utuh, escape yang mewakili pemisah, seperti %2F, tetap dienkode, sehingga tautan tetap bermakna sama.
Pengodean formulir dan tanda +
Formulir HTML menulis spasi sebagai + dan tanda plus sebagai %2B. Dalam string kueri yang ditulis formulir, karena itu, + berarti spasi. Opsi Pengodean formulir membaca dan menulis aturan itu. Saat opsi ini mati, + tetap menjadi tanda plus, seperti yang dinyatakan RFC 3986.
Yang ditolak saat dekode
- Tanda % yang tidak diikuti dua digit heksadesimal, seperti akhir dari %E0%A4%A.
- Escape yang tidak membentuk UTF-8 yang sah, seperti satu byte %FF.
- Karakter yang rusak, seperti separuh emoji, yang tidak bisa dienkode.
Contoh: tautan pencarian
Mengenkode nilai Ankara & İzmir? dengan Satu nilai menghasilkan Ankara%20%26%20%C4%B0zmir%3F. Spasi, ampersand, huruf kapital İ (dua byte dalam UTF-8), dan tanda tanya semuanya di-escape.
Mendekode https://example.com/ara?q=%C3%A7ay+kahve&page=2 dengan URL utuh dan Pengodean formulir dicentang menghasilkan https://example.com/ara?q=çay kahve&page=2. Kueri itu punya dua parameter: q adalah çay kahve dan page adalah 2.
| Isian | Hasil |
|---|---|
| Ankara & İzmir? (Satu nilai, enkode) | Ankara%20%26%20%C4%B0zmir%3F |
| https://example.com/ara?q=%C3%A7ay+kahve&page=2 (dekode) | https://example.com/ara?q=çay kahve&page=2 |
Pertanyaan yang sering diajukan
Apa perbedaan encodeURI dan encodeURIComponent?
encodeURIComponent mengenkode setiap pemisah, sehingga cocok untuk satu nilai dalam string kueri. encodeURI membiarkan karakter yang memberi URL strukturnya, seperti : / ? # & dan =, sehingga cocok untuk tautan utuh. Satu nilai adalah yang pertama dan URL utuh adalah yang kedua.
Mengapa spasi menjadi %20 di satu tempat dan + di tempat lain?
%20 adalah escape standar untuk spasi dan sah di mana pun dalam URL. Tanda + berarti spasi hanya dalam pengodean formulir, pada string kueri yang ditulis formulir HTML. Centang Pengodean formulir bila tautannya berasal dari formulir.
Mengapa %E0%A4%A ditolak?
Escape %E0 memulai huruf tiga byte, tetapi teksnya berakhir setelah %A dan escape itu tidak lengkap. Setiap tanda % memerlukan dua digit heksadesimal, dan setiap byte harus termasuk karakter UTF-8 yang lengkap.
Apakah tautan saya dikirim ke server?
Tidak. Peramban Anda yang melakukan pengodean dan pendekodean, sehingga tautan yang memuat token atau data pribadi tetap berada di perangkat Anda.
Mengapa tanda plus tetap ada di parameter hasil dekode saya?
Saat Pengodean formulir mati, + tetap menjadi tanda plus, sebagaimana didefinisikan RFC 3986. Banyak formulir web menulis spasi sebagai +, jadi centang opsi itu untuk membaca tautan tersebut seperti yang dimaksud formulir.
Sumber
- RFC 3986 (dalam bahasa Inggris): Uniform Resource Identifier (URI): Generic Syntax, bagian 2.1 (IETF)
- ECMA-262 (dalam bahasa Inggris): encodeURI, encodeURIComponent, dan decodeURI dalam spesifikasi ECMAScript
- WHATWG URL Standard (dalam bahasa Inggris): parsing application/x-www-form-urlencoded
Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.