Apa yang dilakukan alat ini
URL hanya dapat membawa sekumpulan kecil karakter polos. Selain itu, seperti spasi, aksen, emoji, atau karakter yang bermakna dalam sintaks URL, ditulis dengan tanda persen dan dua digit heksadesimal untuk setiap byte: spasi adalah %20 dan "é" adalah %C3%A9. Alat ini punya tiga tab. Enkode mengubah teks ke bentuk itu, Dekode mengembalikannya dan menyebut persis escape mana yang rusak, dan Urai URL memecah alamat menjadi skema, pengguna, host, port, jalur, kueri, dan fragmen, mendaftar parameter di editor kecil, dan merakit ulang URL saat Anda mengubahnya.
Tiga jenis pengodean
Teks yang sama dapat dienkode dengan tiga cara, dan salah memilih adalah kesalahan paling umum.
- Komponen (
encodeURIComponent) mengenkode semuanya kecuali huruf, angka, dan - _ . ! ~ * ' ( ). Pakai untuk satu nilai di dalam URL, seperti kata pencarian. a/b?c=d&e menjadi a%2Fb%3Fc%3Dd%26e. - URL utuh (
encodeURI) juga membiarkan ; , / ? : @ & = + $ #, sehingga alamat lengkap tetap bentuknya: teks yang sama tetap a/b?c=d&e. Ini salah untuk satu nilai, karena & atau = di dalamnya akan dibaca sebagai sintaks. - Formulir adalah yang ditulis formulir HTML dan
URLSearchParams: spasi menjadi +, dan ~ ! ' ( ) juga dienkode. "café au lait & crème" menjadi caf%C3%A9+au+lait+%26+cr%C3%A8me.
Ketiganya bekerja pada byte UTF-8, jadi emoji (sepasang surrogate di JavaScript) menjadi empat byte: 😀 adalah %F0%9F%98%80. Setengah pasangan surrogate yang tunggal tidak punya bentuk UTF-8, dan fungsi bawaan JavaScript melempar "URI malformed"; alat ini menyebut posisinya.
Mendekode dan yang bisa salah
Dekode membalik setiap escape. Tanda plus hanya berarti spasi pada gaya formulir, dan %2B selalu tanda tambah. Ada dua jenis kegagalan: % tanpa dua digit heks di belakangnya (100%, %zz), dan escape yang tidak membentuk UTF-8 valid, seperti %C3%28. Alat ini menyebut setiap masalah beserta posisinya dan membiarkan bagian yang tidak bisa didekode apa adanya, agar Anda melihat letaknya. Aktifkan "Berhenti di galat pertama" jika Anda lebih suka tidak ada keluaran saat ada masalah. Jika hasilnya masih berisi escape, seperti %2520 menjadi %20, kemungkinan sudah dienkode dua kali dan sebuah tombol mendekodenya lagi.
Mengurai URL
Pengurai lebih dulu memecah alamat persis seperti yang ditulis menurut RFC 3986, lalu membandingkan tiap bagian dengan hasil pengurai URL peramban dan menampilkan selisihnya di bawah: port bawaan 443 dibuang, ./ di jalur diselesaikan, dan host seperti münchen.de ditulis xn--mnchen-3ya.de. Kueri kosong (?) tidak sama dengan tanpa kueri.
Menyunting string kueri
Setiap parameter adalah satu baris berisi nama dan nilai. Urutan dan nama yang sama dipertahankan; parameter yang tidak Anda sentuh kembali persis seperti tertulis, dan yang disunting dienkode dengan %20 atau + jika kueri sudah memakainya. Susun ulang, hapus, atau tambah baris lalu salin URL hasil rakitan. Lihat juga alat Base64 dan pemformat JSON bila parameter berisi data terenkode. Semuanya berjalan di peramban, tidak ada yang diunggah, dan tidak ada tautan yang dibuka untuk Anda.