Was ist URL-Kodierung und warum wird sie benötigt?
URL-Kodierung, auch Prozentkodierung genannt, ist ein Mechanismus, um Zeichen in einer URL (Uniform Resource Locator) durch einen Prozentzeichen (%) gefolgt von zwei hexadezimalen Ziffern zu ersetzen. Dies ist notwendig, weil URLs nur eine begrenzte Menge von Zeichen sicher verwenden dürfen (alphanumerische Zeichen und einige Sonderzeichen). Zeichen wie Leerzeichen, Umlaute (ä, ö, ü) oder Sonderzeichen (&, =, ?) haben in einer URL eine besondere Bedeutung und würden diese beschädigen oder falsch interpretiert werden. Durch die Kodierung werden diese Zeichen in eine sichere, übertragbare Form umgewandelt.
Was ist der Unterschied zwischen URL-Kodierung und URL-Dekodierung?
URL-Kodierung ist der Prozess, unsichere oder reservierte Zeichen in eine URL-konforme Prozentdarstellung umzuwandeln. Zum Beispiel wird ein Leerzeichen zu "%20". URL-Dekodierung ist der umgekehrte Vorgang: Sie nimmt eine kodierte URL und wandelt die Prozentzeichen-Sequenzen zurück in ihre ursprünglichen, lesbaren Zeichen um. Ein Tool zur URL-Kodierung und -Dekodierung führt beide Funktionen aus, je nachdem, was der Benutzer benötigt.
Wann sollte ich eine URL kodieren?
Sie sollten eine URL immer dann kodieren, wenn Sie Daten in einen URL-Query-String (die Teile nach dem "?" in einer URL) einfügen, die Sonderzeichen enthalten könnten. Typische Anwendungsfälle sind das Senden von Formulardaten per GET-Methode, das Einbetten von Parametern wie Suchbegriffen (z.B. "München & Umgebung"), oder das Erstellen von Links mit dynamischen Inhalten. Auch Umlaute oder Zeichen aus nicht-lateinischen Schriften (z.B. Kyrillisch, Chinesisch) müssen kodiert werden, um korrekt übertragen zu werden.
Was bedeuten gängige Kodierungen wie %20, %3F oder %C3%A4?
Dies sind hexadezimale Codes für bestimmte Zeichen. %20 repräsentiert ein Leerzeichen. %3F steht für das Fragezeichen (?). %C3%A4 ist die UTF-8-Kodierung für den Kleinbuchstaben "ä". Die ersten beiden Ziffern nach dem Prozentzeichen geben den Byte-Wert des Zeichens an. Bei Zeichen außerhalb des ASCII-Bereichs (wie Umlauten) wird die UTF-8-Kodierung verwendet, die aus mehreren Bytes bestehen kann, daher sieht man hier oft zwei Prozent-Sequenzen nacheinander.
Kodiert dieses Tool alle Zeichen in einer URL?
Ein korrekt funktionierendes Tool kodiert nur die Zeichen, die kodiert werden müssen. Es lässt "sichere" Zeichen wie Buchstaben (A-Z, a-z), Zahlen (0-9) und die Sonderzeichen Hyphen (-), Unterstrich (_), Punkt (.) und Tilde (~) unverändert. Alle anderen Zeichen, einschließlich der reservierten Zeichen wie :, /, ?, &, =, # und %, werden in ihrer jeweiligen Prozentdarstellung ausgegeben. Einige Tools bieten eine Option für eine "vollständige" Kodierung an, die auch die eigentlich sicheren Zeichen umwandelt, was jedoch selten benötigt wird.
Warum wird mein kodierter Text so lang?
Jedes zu kodierende Zeichen wird durch drei Zeichen ersetzt: dem Prozentzeichen (%) und zwei hexadezimalen Ziffern. Ein einzelnes Sonderzeichen wie "ß" wird zu "%C3%9F", was sechs Zeichen sind. Ein langer Text mit vielen Umlauten und Sonderzeichen führt daher zu einer deutlich längeren kodierten Zeichenkette. Dies ist normal und gewollt, um die Integrität der Daten bei der Übertragung zu gewährleisten.
Kann ich ganze URLs in dieses Tool einfügen?
Ja, Sie können ganze URLs einfügen. Wenn Sie eine komplette URL kodieren, werden jedoch auch die für die URL-Struktur wichtigen Zeichen wie :, / und ? kodiert, was die URL unbrauchbar macht. In der Praxis kodiert man normalerweise nur den spezifischen Teil, der variabel ist, wie z.B. die Query-Parameter. Für die Dekodierung ist es hingegen unproblematisch, eine vollständig kodierte URL einzufügen, um sie in ihre lesbare Form zurückzuverwandeln.