Cara meng-encode string untuk URL
Percent-encoding mengganti setiap karakter yang tidak aman di URL dengan % diikuti nilai heksadesimal setiap byte UTF-8-nya. Mode Komponen, yang memakai encodeURIComponent(), tepat untuk satu nilai kueri atau satu segmen path.
Contoh langkah demi langkah
| Karakter | Byte UTF-8 | Komponen |
|---|---|---|
| ␠ | %20 | %20 |
| & | %26 | %26 |
| = | %3D | %3D |
| / | %2F | %2F |
| ? | %3F | %3F |
| é | %C3 %A9 | %C3%A9 |
| 😀 | %F0 %9F %98 %80 | %F0%9F%98%80 |
Mode Komponen meng-encode seluruh frasa menjadi satu nilai yang aman.
- Masukan
- rock & roll/size=XL? café 😀
- Hasil ·
encodeURIComponent() - rock%20%26%20roll%2Fsize%3DXL%3F%20caf%C3%A9%20%F0%9F%98%80
Mode URL lengkap membiarkan & = / ? apa adanya, jadi gunakan hanya untuk URL utuh.
- Masukan
- rock & roll/size=XL? café 😀
- Hasil ·
encodeURI() - rock%20&%20roll/size=XL?%20caf%C3%A9%20%F0%9F%98%80
Cara alat ini menanganinya
- Huruf A–Z dan a–z, angka 0–9, serta - _ . ! ~ * ' ( ) tidak pernah diubah.
- Karakter lain diubah menjadi byte UTF-8, dan setiap byte ditulis sebagai % ditambah dua digit heksadesimal huruf besar: é terdiri dari dua byte, sebagian besar emoji empat byte.
- Mode Komponen juga meng-encode karakter cadangan : / ? # [ ] @ & = + $ , ; sehingga karakter itu tidak dapat mengubah struktur URL.