Solche URLs können aus fieser Absicht heraus derart "chiffriert" sein.
Es gibt aber auch Fälle, wo das quasi von allein auftritt.
Angenommen, Du hast eine Bilddatei mit dem Namen: "Brüssels größtes Äffchen.jpg" und Du willst diese Datei zum Download, oder zwecks Verlinkung, auf einen Server laden.
Der Dateiname enthält sowohl Leerzeichen (die in Links nicht vorkommen dürfen), sowie alle deutschen Umlaute, nebst dem "ß". Da ist Kummer vorprogrammiert, weil diese Zeichen im uralten 7-Bit ASCII-Format nicht vorgesehen waren.
Die Software auf den Servern entfaltet dann mitunter das vom Uploader nicht beabsichtigte Eigenleben, den Dateinamen umzucodieren, so dass die Datei verlinkbar wird.
Dabei kann es vorkommen, dass die vom Ersteller der Website vorgesehene Verlinkung anschließend ins Leere führt - erlebt man immer wieder mal.
Richtig haarig wird es, wenn nicht nur deutsche Sonderzeichen, sondern z. B. russische, oder chinesische Zeichen in Links vorkommen sollen.
UTF-8 ist da zwar theoretisch das Mittel der Wahl, doch das funktioniert noch immer nicht überall und immer.
UTF-8 verwendet 16 Bit pro Zeichen, erlaubt also 65536 Zeichen, womit auch Russisch und Chinesisch abgedeckt wären. Aber wenn irgendwo auf dem Weg der Daten durchs Internet noch ein Server etc. mit Uralt-Software vorkommt, der nix als 7 Bit kennt ...
Der Notnagel besteht also darin, solche "Sonderzeichen" (die die arroganten Amis anfangs gar nicht auf dem Plan hatten, weil die Welt in ihrer Sicht ja nur aus den USA plus ein paar unbedeutenden Affeninseln besteht) in einer Weise zu codieren, die garantiert immer und überall funktioniert.
Dabei wird ein einzelnes Zeichen aus dem "erweiterten Zeichensatz" (das mehr als 7, bzw. 8 Bit erfordert) dann durch mehrere Zeichen aus dem garantiert überall unterstützten 7-Bit ASCII-Code ersetzt, der halt nur 128 Zeichen erlaubt.
Derartigen Zeichenfolgen wird zur Erkennung dann ein einzelnes Prozentzeichen (%) vorangestellt.
Eine URL-Codierung kann also durchaus legitime Gründe haben.
Aber weil diese Art der Codierung den unbedarften Benutzer so "schön" verwirrt, wird diese Maßnahme leider auch oft aus böser Absicht heraus verwendet.
Dabei gibt es Extremfälle. So gibt es Zeichen, die eigentlich keine Textzeichen repräsentieren, sondern eher Funktionen, wie z. B. ein Backspace.
Damit lassen sich dann URLs codieren, die zunächst ganz gewöhnlich aussehen, wo nach beispielsweise 100 Leerzeichen (und somit außerhalb des Sichtbereichs des Users) dann aber eine mehrfache Sequenz von Backspaces vorkommt (die alles vorherige wieder tilgt) ... gefolgt von einer völlig neuen, für den Benutzer unsichtbaren URL, die sonstwohin führt (oder noch schlimmere Dinge tut).
Auf diese Weise sollen schon Router gekapert worden sein. Der vermeintliche Weblink enthielt dann irgendwo, weit rechts im String, ein Kommando, das Zugriff auf den Router bewirkte und dort irgend welche fiesen Dinge veranstaltete.