Kostenloser URL-Decoder Online
URL-kodierte Zeichenfolgen zurück in lesbaren Text dekodieren.
Was ist URL-Dekodierung?
URL-Dekodierung ist der Prozess der Konvertierung prozentkodierter Zeichen zurück in ihre ursprüngliche Form. Wenn Daten URL-kodiert sind, werden Sonderzeichen durch % gefolgt von hexadezimalen Werten ersetzt. Dieser Decoder kehrt diesen Prozess um, um den Originaltext wiederherzustellen.
Häufige Anwendungen der URL-Dekodierung
- Query-String-Parameter lesen: Bei der Analyse von URLs aus Browser-Adressleisten, Analytics oder Logs sind Query-Parameter oft URL-kodiert. Um zu verstehen, nach welchen Werten Benutzer gesucht haben oder welche Filter sie angewendet haben, dekodieren Sie die Parameter. Zum Beispiel dekodiert ?q=coffee+%26+tea zu "coffee & tea". Web-Frameworks dekodieren Parameter automatisch, aber beim Arbeiten mit rohen URLs oder beim Erstellen benutzerdefinierter Parser müssen Sie manuell dekodieren.
- Server-Log-Analyse: Webserver-Logs (Apache, Nginx) zeichnen URLs mit intakter Prozentkodierung auf. Bei der Analyse von Zugriffslogs, um beliebte Suchbegriffe zu finden, Angriffsmuster zu erkennen oder 404-Fehler zu debuggen, dekodieren Sie URLs, um zu sehen, was Benutzer tatsächlich angefordert haben. Zum Beispiel dekodiert /search?q=%22hello+world%22 zu /search?q="hello world".
- Debugging von Webanwendungen: Während der Entwicklung inspizieren Sie URLs in der Netzwerk-Registerkarte der Entwicklertools Ihres Browsers. Kodierte Parameter können schwer zu lesen sein. Ihre Dekodierung hilft Ihnen zu überprüfen, dass Ihre Anwendung korrekte Daten sendet. Dies ist besonders nützlich für komplexe URLs mit mehreren kodierten Parametern, verschachtelten Objekten oder JSON-Strings, die als URL-Parameter übergeben werden.
- API-Entwicklung und -Tests: Beim Erstellen oder Testen von APIs, die URL-Parameter akzeptieren, dekodieren Sie eingehende Parameter, um zu validieren, dass Clients korrekte Daten senden. Dies hilft, Probleme zu diagnostizieren, bei denen Parameterwerte doppelt kodiert, falsch kodiert sind oder unerwartete Zeichen enthalten. API-Test-Tools wie Postman zeigen kodierte URLs. Dekodierung hilft, die tatsächlich gesendeten Werte zu überprüfen.
Wie funktioniert URL-Dekodierung?
URL-Dekodierung kehrt die Prozentkodierung um, indem %XX-Sequenzen zurück in ihre ursprünglichen Bytewerte konvertiert und diese Bytes dann als UTF-8-Text interpretiert werden. Hier ist der technische Prozess:
- Schritt 1 - Nach Prozentzeichen scannen: Der Dekoder liest die kodierte Zeichenkette von links nach rechts und sucht nach %-Zeichen, die kodierte Bytes kennzeichnen.
- Schritt 2 - Hexadezimalwerte parsen: Für jedes gefundene % werden die beiden folgenden Hexadezimalzeichen gelesen und in einen Bytewert umgewandelt. Zum Beispiel wird %20 zu Byte 0x20 (Dezimal 32).
- Schritt 3 - Mehrbyte-Sequenzen zusammensetzen: Aufeinanderfolgende kodierte Bytes (wie %C3%A9) werden zu Mehrbyte-UTF-8-Sequenzen kombiniert und zum ursprünglichen Zeichen (é) dekodiert.
- Schritt 4 - Plus-Zeichen behandeln: Im Format application/x-www-form-urlencoded (von HTML-Formularen verwendet) werden Plus-Zeichen (+) als Leerzeichen dekodiert. Bei Standard-Prozentkodierung bleiben Plus-Zeichen literal.
Beispiel: "hello%20world" dekodiert zu "hello world" (%20 = Leerzeichen). "caf%C3%A9" dekodiert zu "café" (Bytes C3 A9 = UTF-8 für é). "search=coffee+%26+tea" dekodiert zu "search=coffee & tea".
URL-Dekodierung verstehen
URL-Dekodierung ist die Umkehrung der URL-Kodierung (RFC 3986). Der Dekoder verarbeitet den String Zeichen für Zeichen: Wenn er auf ein %-Zeichen gefolgt von zwei Hexadezimalziffern trifft, konvertiert er diese Hex-Ziffern in einen Bytewert und gibt das entsprechende Zeichen aus. Für UTF-8-kodierte Zeichen (die mehrere Bytes verwenden) verarbeitet der Dekoder aufeinanderfolgende %XX-Sequenzen, um das vollständige Zeichen zu rekonstruieren. Zum Beispiel wird %C3%A9 zu é dekodiert (UTF-8-Bytes C3 A9). Der Dekoder behandelt auch den Sonderfall, wo + ein Leerzeichen in formular-kodierten Daten darstellt (application/x-www-form-urlencoded).
Sicherheitsaspekte bei der URL-Dekodierung
Seien Sie vorsichtig beim Dekodieren von URLs aus nicht vertrauenswürdigen Quellen. Validieren und bereinigen Sie dekodierte Inhalte, bevor Sie sie in Ihrer Anwendung verwenden, um Injection-Angriffe zu verhindern. Erfahren Sie mehr über Kodierungssicherheit
URL-Dekodierung in Programmiersprachen
URL-Dekodierung ist in den meisten Programmiersprachen integriert. Hier sind umfassende Beispiele:
// urldecode() - dekodiert Formular-Kodierung (+ wird zu Leerzeichen)
$decoded = urldecode($encoded);
// rawurldecode() - RFC 3986-konform (+ bleibt als +)
$decoded = rawurldecode($encoded);
// Query-Strings parsen (automatische Dekodierung)
$url = 'https://example.com/search?q=coffee+%26+tea';
$parts = parse_url($url);
parse_str($parts['query'], $params);
// $params['q'] ist automatisch dekodiert: "coffee & tea"
// decodeURIComponent() - Standard-Dekodierung (empfohlen)
const decoded = decodeURIComponent('hello%20world%20%26%20stuff');
// Ergebnis: "hello world & stuff"
// Plus-Zeichen manuell handhaben falls nötig
function decodeFormData(str) {
return decodeURIComponent(str.replace(/\+/g, ' '));
}
// URL-Parameter parsen
const url = new URL('https://example.com/search?q=coffee+%26+tea');
const query = url.searchParams.get('q');
// Automatisch dekodiert: "coffee & tea"
from urllib.parse import unquote, unquote_plus, parse_qs
# unquote() - Standard-Dekodierung (+ bleibt als +)
decoded = unquote('hello%20world%20%26%20stuff')
# Ergebnis: "hello world & stuff"
# unquote_plus() - Formular-Dekodierung (+ wird zu Leerzeichen)
decoded = unquote_plus('hello+world+%26+stuff')
# Ergebnis: "hello world & stuff"
# Query-Strings parsen (automatische Dekodierung)
params = parse_qs('q=coffee+%26+tea&page=1')
# params['q'] = ['coffee & tea']
import (
"net/url"
"fmt"
)
// QueryUnescape() - dekodiert Query-Strings (+ wird zu Leerzeichen)
decoded, err := url.QueryUnescape("hello+world+%26+stuff")
if err != nil {
fmt.Println("Dekodierungsfehler:", err)
}
// Ergebnis: "hello world & stuff"
// PathUnescape() - dekodiert Pfade (+ bleibt als +)
decoded, err := url.PathUnescape("hello%2Fworld")
// Ergebnis: "hello/world"
// URL-Parameter parsen (automatisch)
u, _ := url.Parse("https://example.com/search?q=coffee+%26+tea")
query := u.Query().Get("q")
// Automatisch dekodiert: "coffee & tea"
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
// URL-Dekodierung (immer UTF-8 angeben)
try {
String decoded = URLDecoder.decode("hello+world+%26+stuff",
StandardCharsets.UTF_8);
// Ergebnis: "hello world & stuff"
} catch (Exception e) {
System.err.println("Dekodierungsfehler: " + e.getMessage());
}
require 'uri'
require 'cgi'
# URI.decode_www_form_component() - Formular-Dekodierung
decoded = URI.decode_www_form_component('hello+world+%26+stuff')
# Ergebnis: "hello world & stuff"
# CGI.unescape() - Alternative
decoded = CGI.unescape('hello+world')
# Ergebnis: "hello world"
# Query-Strings parsen (automatisch)
params = URI.decode_www_form('q=coffee+%26+tea&page=1')
# params = [['q', 'coffee & tea'], ['page', '1']]
using System;
using System.Web;
using System.Net;
// HttpUtility.UrlDecode() - Formular-Dekodierung (+ wird zu Leerzeichen)
string decoded = HttpUtility.UrlDecode("hello+world+%26+stuff");
// Ergebnis: "hello world & stuff"
// Uri.UnescapeDataString() - Standard-Dekodierung (ohne System.Web)
string decoded = Uri.UnescapeDataString("hello%20world%20%26%20stuff");
// Ergebnis: "hello world & stuff"
Verwandte Tools
Müssen Sie Text für URLs kodieren? Verwenden Sie unseren URL-Encoder, um Sonderzeichen in prozentkodiertes Format zu konvertieren.
Base64-Strings dekodieren? Probieren Sie unseren Base64-Decoder für Base64-kodierte Daten aus.
HTML-Entities dekodieren? Verwenden Sie unseren HTML-Entity-Decoder, um < > & zurück in Zeichen zu konvertieren.