MUTools

Enkode / Dekode

Enkode / Dekode URL

Alat Enkode / Dekode URL adalah alat untuk mengonversi teks menjadi format URL encode (percent-encoding) atau mengembalikan teks ber-URL-encode menjadi teks aslinya. Hasil diperbarui secara real-time begitu Anda memasukkan karakter ke kolom input, sehingga Anda tidak perlu menekan tombol konversi.

Mode konversi
Cakupan enkode
Output ber-URL-encode
Setelah Anda mengetik, hasilnya akan muncul di sini

Seluruh isi input diproses di dalam browser dan tidak dikirim ke server.

Apa itu alat Enkode / Dekode URL?

Alat Enkode / Dekode URL adalah alat untuk mengonversi teks menjadi format URL encode (percent-encoding) atau mengembalikan teks ber-URL-encode menjadi teks aslinya. Hasil diperbarui secara real-time begitu Anda memasukkan karakter ke kolom input, sehingga Anda tidak perlu menekan tombol konversi.

URL encode adalah mekanisme untuk mengubah karakter yang tidak dapat digunakan sebagai URL (seperti huruf non-ASCII, spasi, atau simbol) menjadi bilangan heksadesimal dua digit yang didahului % (misalnya %E3%81%82). Mekanisme ini secara otomatis dilakukan di balik layar oleh peramban web maupun permintaan HTTP, sehingga jarang Anda sadari sehari-hari, tetapi ada banyak situasi saat Anda ingin mengenkode atau mendekode secara manual ketika mengembangkan API atau melakukan debug.

Anda dapat memilih dua cakupan enkode. "Untuk parameter query" mengenkode hampir semua karakter khusus, termasuk pemisah URL seperti :, /, ?, #, dan @. Cakupan ini cocok untuk teks yang disisipkan sebagai nilai parameter query atau nilai apa pun yang digunakan sebagai bagian dari URL. "Untuk seluruh URL" membiarkan pemisah yang menjaga struktur URL (seperti :, /, ?, dan #) tetap apa adanya, dan hanya mengenkode karakter lain seperti karakter non-ASCII. Gunakan ini saat Anda ingin mengenkode URL yang sudah jadi tanpa merusaknya.

Selain itu, jika Anda mengaktifkan opsi "Nyatakan spasi sebagai +", karakter spasi akan diganti dengan + sebagai pengganti %20. Opsi ini berguna saat Anda ingin menyesuaikan dengan format application/x-www-form-urlencoded yang digunakan pada pengiriman formulir HTML.

Teks maupun teks ber-URL-encode yang Anda masukkan semuanya diproses di dalam browser Anda dan tidak dikirim ke server eksternal. Berjalan sepenuhnya di browser Anda.

Cara penggunaan

  1. Pada "Mode konversi" di bagian atas, pilih "Teks → URL" atau "URL → Teks".
  2. Pada "Cakupan enkode", pilih "Untuk parameter query" atau "Untuk seluruh URL". Biasanya pilihan untuk parameter query lebih aman.
  3. Masukkan atau tempel teks atau teks ber-URL-encode ke kolom input. Kolom hasil akan diperbarui secara real-time.
  4. Aktifkan opsi "Nyatakan spasi sebagai +" sesuai kebutuhan (untuk format form-encoding).
  5. Anda dapat menyalin hasil konversi ke clipboard dengan tombol "Salin" di kanan atas kolom hasil.

Skenario penggunaan

  • Saat Anda ingin dengan mudah memeriksa hasil enkode yang benar ketika menyertakan huruf non-ASCII atau simbol pada parameter query permintaan API.
  • Saat Anda ingin mengembalikan teks ber-URL-encode yang muncul di bilah alamat peramban atau log permintaan HTTP menjadi teks yang dapat dibaca manusia.
  • Saat Anda ingin memeriksa enkode dan dekode data POST formulir HTML (application/x-www-form-urlencoded).
  • Saat Anda ingin memverifikasi apakah enkode redirect_uri OAuth atau teks yang ditandatangani sudah sesuai dengan spesifikasi.
  • Saat Anda ingin mendekode parameter ber-URL-encode yang diterima dari layanan eksternal untuk dengan cepat memeriksa isinya.

Hal yang perlu diperhatikan

  • "Untuk parameter query" setara dengan encodeURIComponent. Pemisah URL (seperti : / ? # @) pun ikut dienkode. Gunakan ini saat menyisipkan nilai parameter query atau teks apa pun ke dalam URL.
  • "Untuk seluruh URL" setara dengan encodeURI. Hanya karakter yang merusak struktur URL (seperti non-ASCII) yang dienkode, sedangkan pemisah seperti : / ? # tetap dipertahankan. Gunakan ini saat ingin mengenkode seluruh URL yang sudah ada secara aman.
  • Jika "Nyatakan spasi sebagai +" diaktifkan, saat enkode %20 akan diganti dengan +, dan saat dekode + akan dikembalikan menjadi %20 terlebih dahulu sebelum diproses. Hal ini sesuai dengan format yang dikirim formulir HTML melalui application/x-www-form-urlencoded.
  • Jika Anda mencoba mendekode teks yang mengandung urutan %xx yang tidak lengkap (misalnya %GG atau hanya ada % di bagian akhir), pesan kesalahan akan ditampilkan. Periksa kembali teks aslinya.
  • Teks yang memuat huruf non-ASCII maupun emoji juga dapat dimasukkan apa adanya. Saat enkode, teks akan dikonversi terlebih dahulu menjadi deretan byte UTF-8 secara internal sebelum percent-encoding diterapkan.

Pertanyaan yang sering diajukan

Apakah teks atau teks ber-URL-encode dikirim ke server?
Tidak dikirim. Proses konversi semuanya berlangsung sepenuhnya di dalam browser Anda. Alat ini aman digunakan bahkan untuk memeriksa URL atau parameter yang memuat informasi rahasia.
Bagaimana cara membedakan penggunaan "Untuk parameter query" dan "Untuk seluruh URL"?
Saat mengenkode nilai-nilai individual yang disisipkan ke dalam URL (seperti kata kunci pencarian atau nilai parameter), pilih "Untuk parameter query (encodeURIComponent)". Saat ingin mengenkode keseluruhan teks URL yang sudah jadi secara aman, gunakan "Untuk seluruh URL (encodeURI)". Jika ragu, pilihan untuk parameter query lebih aman.
Bagaimana huruf non-ASCII dienkode?
Teks dikonversi terlebih dahulu menjadi deretan byte UTF-8 secara internal, lalu di-percent-encode. Misalnya, karakter "あ" akan menjadi %E3%81%82.
Kapan sebaiknya menggunakan "Nyatakan spasi sebagai +"?
Pada pengiriman formulir HTML (format application/x-www-form-urlencoded), karakter spasi dikirim sebagai +. Gunakan opsi ini saat mendekode data dengan format tersebut yang diterima dari server, atau saat menyusun data formulir secara manual.
Muncul kesalahan saat dekode. Apa yang harus saya lakukan?
Teks yang Anda masukkan kemungkinan mengandung urutan %xx yang tidak lengkap (misalnya hanya ada satu karakter setelah %, atau diikuti karakter yang bukan heksadesimal seperti %GG). Periksa kembali teks aslinya dengan teliti lalu masukkan ulang.