Hi!
Die Kodierung ist schlichtweg vom Kontext abhängig.
bei der Codierung von IDN ("Umlautdomains") bist du im Kontext "Domainname" - im Pfad eines URL bist du im Kontext "URL".
Autsch! Wer hat denn dies erfunden?
Nun, mitunter hat man Altlasten der Vergangenheit zu berücksichtigen. Mitunter ergeben auch verschiedene Anforderungen, das gleiche Probleme unterschiedlich gelöst werden müssen, weil das eine Lösungsmuster nicht 1:1 auf die andere Technik anwendbar ist.
Und dann gibt es ja noch das (wohl Kontext HTML?)
Ja. Überall wo zwei Systeme zusammenarbeiten sollen, und man Daten von Code oder anderen Daten unterscheiden muss, gibt es spezielle Zeichen, die anzeigen, dass ein anderer Kontext beginnt und/oder endet und Maskierungen, damit man diese Zeichen auch als Datenbestandteil verwenden kann.
Lo!