Die URL-Kodierung (Prozentkodierung) ist der Prozess der Konvertierung unsicherer Zeichen in URLs in das Format %XX. URLs können nur eine kleine Teilmenge von ASCII-Zeichen enthalten (Buchstaben, Ziffern, -_.~), alle anderen Zeichen (einschließlich Chinesisch, Leerzeichen, Sonderzeichen) müssen kodiert werden, bevor sie in einer URL übertragen werden. Beispielsweise wird ein Leerzeichen als %20 kodiert, das chinesische Zeichen „中“ als %E4%B8%AD.
**encodeURIComponent vs encodeURI**: Dies sind die beiden am häufigsten verwendeten Kodierungsfunktionen. encodeURIComponent kodiert am gründlichsten, einschließlich Parametertrennzeichen wie &, =, ?, und eignet sich daher zur Kodierung einzelner Parameterwerte. encodeURI behält die URL-Struktur bei (Protokoll://, Pfad, /, ?, #) und eignet sich zur Kodierung vollständiger URLs. Eine falsche Verwendung führt zu Paramteranalysefehlern.
**RFC 3986 vs ältere Standards**: RFC 3986 behandelt die Tilde ~ als sicheres Zeichen, das nicht kodiert werden muss, während frühere Standards sie als %7E kodieren. Die Verwendung von RFC 3986 reduziert unnötige Escapes, verbessert die URL-Lesbarkeit und vermeidet Probleme mit der %7E-Analyse auf einigen Servern.
**Query-Only-Modus**: Er wird verwendet, wenn Sie nur die Werte von Abfrageparametern in der URL kodieren müssen, ohne Schlüsselnamen, Gleichheitszeichen und &-Symbole zu beeinträchtigen. Beispielsweise wird ?name=张三 als ?name=%E5%BC%A0%E4%B8%89 kodiert, wobei die Schlüsselnamen lesbar bleiben und nur die Werte kodiert werden.
**Kodierungshervorhebung**: Hebt Zeichen im Format %XX in Echtzeit bernsteinfarben hervor, sodass Benutzer auf einen Blick sehen, welche Zeichen kodiert wurden. Dies hilft, Kodierungsregeln zu verstehen: Buchstaben und Zahlen sind normalerweise sichere Zeichen, die nicht kodiert werden, nur Chinesisch und Sonderzeichen werden kodiert. Alle Berechnungen erfolgen lokal im Browser, keine Daten werden hochgeladen.