Avatar ·

Quand utiliser escape au lieu de encodeURI / encodeURIComponent en JavaScript ?

Bonjour ! J'ai récemment commencé à apprendre JavaScript et je suis confronté à une confusion lors du travail avec l'encodage URL. Dans différents exemples de code, je vois trois fonctions : `escape()`, `encodeURI()` et `encodeURIComponent()`. Elles semblent toutes faire la même chose — remplacer les caractères spéciaux par leur représentation en pourcentage, mais je ne comprends pas quand utiliser laquelle. Par exemple, j'écris un petit script pour envoyer des données au serveur via une requête GET. Je dois passer des paramètres dans l'URL, y compris des caractères cyrilliques, des espaces et des signes de ponctuation. Si j'utilise `escape()`, j'obtiens quelque chose comme `%u041F%u0440%u0438%D0%B2%D0%B5%D1%82`, tandis qu'avec `encodeURIComponent()` — `%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82`. Quelle est la bonne option ? J'ai aussi entendu dire que `escape()` est obsolète, mais il est encore utilisé dans les anciens projets. Quand faut-il vraiment l'utiliser ?