%20 · %C3%A9 · encodeURIComponent
Enkoder dan dekoder URL
Enkoding URL mengganti karakter yang tidak aman dengan % dan dua digit hex: spasi menjadi %20 dan é menjadi %C3%A9. Pilih enkode, dekode, atau parse, lalu ketik atau tempel teks Anda.
- a b&c=d → a%20b%26c%3Dd
- é → %C3%A9
- € → %E2%82%AC
- 😀 → %F0%9F%98%80
Semuanya berjalan di tab ini dan tidak ada yang diunggah. Teks non-ASCII diubah ke UTF-8 sebelum di-escape.
Scanned by NortonTM Safe Web
Sekilas
- Harga
- Tanpa biaya
- Akun
- Tidak perlu
- Standar
- RFC 3986 (URI), WHATWG URL Standard
- Mode
- Enkode, dekode, dan parse
- Set karakter
- UTF-8
- Unggah
- Tidak ada — teks tetap di tab browser Anda
Percent-encoding karakter yang umum
Setiap sel dihasilkan oleh enkoder dan dekoder di halaman ini. Simbol ␣ melambangkan spasi.
| Karakter | encodeURIComponent | encodeURI | Formulir (+ untuk spasi) |
|---|---|---|---|
| ␣ | %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 |
| Escape | decodeURIComponent | decodeURI | Formulir |
|---|---|---|---|
| %2F | / | %2F | / |
| %3F | ? | %3F | ? |
| %23 | # | %23 | # |
| %20 | ␣ | ␣ | ␣ |
| %2B | + | %2B | + |
| %41 | A | A | A |
Cara mengenkode atau mendekode URL
Pilih mode
Pilih Enkode untuk meng-escape teks, Dekode untuk membaca teks ter-escape, atau Parse untuk memecah seluruh URL menjadi protokol, host, path, query, dan fragmen.
Pilih metode
Untuk satu nilai, seperti parameter query, pakai metode komponen. Untuk alamat lengkap, pakai metode URL utuh. Pakai metode formulir untuk data yang dikirim formulir HTML.
Tempel dan salin
Ketik atau tempel teks Anda. Hasil diperbarui saat Anda mengetik dan memiliki tombol Salin. Urutan % yang rusak dilaporkan beserta posisinya.
Cara kerja percent-encoding
Percent-encoding (RFC 3986) menuliskan satu byte sebagai % diikuti dua digit heksadesimal. Teks lebih dulu diubah ke UTF-8, sehingga é adalah 2 byte (%C3%A9), € adalah 3 byte (%E2%82%AC) dan 😀 adalah 4 byte (%F0%9F%98%80). Huruf, angka, dan - _ . ~ tidak pernah perlu dienkode. Karakter terpesan seperti / ? # & = + dan : punya fungsi di URL, jadi perlu tidaknya dienkode bergantung pada tujuan teksnya.
encodeURIComponent untuk satu bagian URL, seperti nilai query: ia mengenkode / ? # & = + dan :. encodeURI untuk URL utuh: ia membiarkan karakter itu agar alamat tetap berstruktur. Enkoding formulir (application/x-www-form-urlencoded) menulis spasi sebagai + alih-alih %20 dan juga mengenkode ~ dan ! ' ( ). Dekode menolak % yang tidak diikuti dua digit hex dan melaporkan posisinya.
Pertanyaan tentang enkoding URL
Apa beda encodeURI dan encodeURIComponent?
encodeURIComponent mengenkode semuanya kecuali huruf, angka, dan - _ . ! ~ * ' ( ), jadi ia juga mengenkode / ? # & = + dan :. encodeURI mempertahankan karakter itu agar URL utuh tetap berfungsi. Pakai metode komponen untuk sebuah nilai, seperti a/b menjadi a%2Fb, dan encodeURI untuk alamat lengkap.
Mengapa spasi adalah %20 di satu tempat dan + di tempat lain?
%20 adalah percent-encoding spasi dan valid di mana pun dalam URL. + untuk spasi hanya milik enkoding formulir (application/x-www-form-urlencoded), format query string yang dikirim formulir HTML. Tanda plus yang sebenarnya adalah %2B di keduanya.
Bagaimana cara mengenkode karakter Unicode di URL?
Ubah teks ke UTF-8, lalu tulis setiap byte sebagai %XX. é menjadi %C3%A9, € menjadi %E2%82%AC dan 😀 menjadi %F0%9F%98%80. Halaman ini melakukannya di setiap metode enkode.
Karakter apa yang harus dienkode di URL?
Spasi, tanda kutip ganda, < dan >, serta semua karakter non-ASCII selalu dienkode. Huruf, angka, dan - _ . ~ tidak pernah. Karakter terpesan seperti ? dan & dienkode hanya saat berupa data dan bukan bagian struktur URL.
Mengapa dekode melaporkan urutan persen yang tidak valid?
% harus diikuti dua digit heksadesimal. 100% gagal karena tidak ada yang mengikuti %, begitu pula ab%zz. Halaman melaporkan posisi % yang salah. Byte ter-escape yang tidak membentuk UTF-8 valid, seperti %FF, juga dilaporkan.
Bisakah halaman ini memecah URL menjadi bagian-bagian?
Bisa. Mode Parse memakai parser URL browser untuk mencantumkan protokol, nama pengguna, host, port, path, query, dan fragmen, dan menampilkan setiap parameter query dengan nilai hasil dekodenya. Kata sandi dalam URL dilaporkan ada dan tidak pernah dicetak.