Wann sollte man escape anstelle von encodeURI / encodeURIComponent in JavaScript verwenden?
Hallo! Ich habe vor kurzem angefangen, JavaScript zu lernen, und bin bei der Arbeit mit URL-Kodierung auf Verwirrung gestoßen. In verschiedenen Codebeispielen sehe ich drei Funktionen: `escape()`, `encodeURI()` und `encodeURIComponent()`. Sie scheinen alle dasselbe zu tun – spezielle Zeichen durch ihre prozentuale Darstellung zu ersetzen – aber ich verstehe nicht, wann ich welche verwenden soll.
Zum Beispiel schreibe ich ein kleines Skript, um Daten über eine GET-Anfrage an einen Server zu senden. Ich muss Parameter in der URL übergeben, einschließlich Kyrillisch, Leerzeichen und Satzzeichen. Wenn ich `escape()` verwende, erhalte ich so etwas wie `%u041F%u0440%u0438%D0%B2%D0%B5%D1%82`, aber wenn ich `encodeURIComponent()` verwende, erhalte ich `%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82`. Welche Variante ist richtig?
Außerdem habe ich gehört, dass `escape()` veraltet ist, aber es wird immer noch in alten Projekten verwendet. Wann sollte ich es überhaupt verwenden?