Cara kerja encoding URL
Alamat web hanya boleh berisi sedikit karakter: huruf tanpa aksen, angka dan beberapa tanda. Selebihnya dikodekan. Dalam UTF-8, é terdiri dari byte C3 dan A9, jadi menjadi %C3%A9. Emoji juga: 😊 menjadi %F0%9F%98%8A. Spasi menjadi %20, atau + di formulir.
Berkode
Caf%C3%A9 %E2%80%9CKopi Kita%E2%80%9D %E2%98%95
Didecode
Café “Kopi Kita” ☕
Kode URL yang paling sering muncul
%C3%A9= é,%C3%A8= è,%C3%BC= ü,%C3%B1= ñ%E2%80%9C= “,%E2%80%9D= ”,%E2%80%99= ’,%E2%80%93= –%E2%82%AC= €,%E2%98%95= ☕,%F0%9F%98%8A= 😊%20= spasi,%2F= /,%3F= ?,%26= &,%25= %
Sistem lama mengodekan setiap huruf dengan satu byte Windows-1252: caf%E9 alih-alih caf%C3%A9. Mojibuster juga mengenalinya dan mengubahnya menjadi café.
Dari mana teks berkode URL berasal
- Link yang disalin: browser menampilkan
wikipedia.org/wiki/Cafédengan rapi, tetapi saat disalin sering yang masuk ke clipboard adalahCaf%C3%A9. - Formulir dan tracking: kata pencarian dan parameter UTM tersimpan berkode di log server dan ekspor analytics, misalnya
?q=kopi%20%E2%98%95. - Ekspor dan API: beberapa layanan newsletter, webhook dan API menyimpan nilai dalam bentuk berkode; di file CSV lalu muncul kode alih-alih nama.
- Nama file: unduhan bernama
Invoice%20Andr%C3%A9.pdfjika server tidak men-decode namanya.
Kode dan karakter rusak sekaligus
Kadang teks rusak dua kali: %C3%83%C2%A9 adalah é yang dikodekan URL, yaitu é yang lebih dulu salah dibaca lalu dikodekan. Mojibuster lebih dulu men-decode kodenya, lalu memperbaiki à bertilde. Hasil akhirnya kembali é.
Opsi Ubah juga kode sudah aktif di halaman ini. Opsi ini juga mengubah kode HTML (é), kode e-mail (=C3=A9) dan escape sequence dari kode program (\u00e9). Kesalahan encoding lain: perbaiki karakter UTF-8.
Decode sendiri di Excel, JavaScript, Python dan PHP
- Excel: hanya punya fungsi untuk mengodekan (
ENCODEURL), bukan untuk men-decode. Cara termudah: salin kolomnya, tempel di sini, lalu salin kembali hasilnya. Lihat juga karakter aneh di Excel. - JavaScript:
decodeURIComponent("caf%C3%A9")menghasilkancafé. - Python:
urllib.parse.unquote("caf%C3%A9"), atauunquote_plusuntuk data formulir dengan+sebagai spasi. - PHP:
rawurldecode(), atauurldecode()untuk data formulir.
Pertanyaan yang sering diajukan
Apa arti %C3%A9?
Itu huruf é dalam encoding URL: dua byte UTF-8 C3 dan A9, masing-masing diawali %. Begitu juga %C3%A8 = è dan %C3%BC = ü.
Apa arti %20?
Sebuah spasi. Di data formulir sering dipakai + sebagai gantinya. Mojibuster membiarkan + apa adanya, karena di teks biasa itu bisa saja tanda plus sungguhan.
Apakah link saya di-upload?
Tidak. Konversi berjalan sepenuhnya di browser Anda. Link berisi token, alamat e-mail atau data pribadi lain tidak meninggalkan perangkat Anda.
Mengapa 100% tidak berubah?
Mojibuster hanya mengubah rangkaian yang menghasilkan karakter khusus sungguhan. 100%, 50 % atau %20 yang berdiri sendiri di teks biasa tetap seperti semula.