Drei Möglichkeiten zum Kodieren und Dekodieren von URLs mit JS. Wie übergibt JS Parameter oder spezielle Symbole in URLs?

Warum URL-Kodierung?

Was sollten Sie tun, wenn %2F in Ihrer URL erscheint? Wie übergibt JS Parameter oder spezielle Symbole in der URL? Wie lässt sich das Problem lösen, dass wir in URL-Links häufig auf spezielle Symbole wie %2F und %2B stoßen? Lass uns einen Blick darauf werfen:

  • Gemäß RFC-Standard können einige Symbole nicht direkt im URI übergeben werden und müssen gemäß dem vorgeschriebenen Format codiert werden.
  • Kodierungsformat: % plus der ASCII-Code des Zeichens, also ein Prozentzeichen %, gefolgt vom ASCII-Codewert (hexadezimal) des entsprechenden Zeichens. Beispiel: Der Codierungswert eines Leerzeichens ist „%20“.

URL-Sondersymbole und -Codierung.

 + URL 中+号表示空格 %2B
 空格 URL中的空格可以用+号或者编码 %20
 / 分隔目录和子目录 %2F
 ? 分隔实际的 URL 和参数 %3F
 % 指定特殊字符 %25
 # 表示书签 %23
 & URL 中指定的参数间的分隔符 %26
 = URL 中指定参数的值 %3D

Wie kodiere und dekodiere ich eine URL?

1. escape und unescape (seltener verwendet)

Vorsichtsmaßnahmen

Besonderer Hinweis: Es gibt 69 Zeichen, die Escape nicht kodiert: *, +, -, ., /, @, _, 0-9, a-z, A-Z.

Einführung in die Nutzung
  • escape() kann nicht direkt für die URL-Codierung verwendet werden. Seine eigentliche Funktion besteht darin, den Unicode-Codierungswert eines Zeichens zurückzugeben.
  • Die Funktion escape() wird von js zum Codieren von Zeichenfolgen verwendet
  • Verwenden Sie den Unicode-Zeichensatz, um die angegebene Zeichenfolge mit Ausnahme von 0-255 zu codieren.
  • Alle Leerzeichen, Satzzeichen, Sonderzeichen und weitere verwandte Nicht-ASCII-Zeichen werden in die Zeichenkodierung im %xx-Format konvertiert (xx entspricht der Hexadezimalzahl der Zeichenkodierung in der Zeichensatztabelle).
  • Die dem Leerzeichen entsprechende Kodierung ist beispielsweise %20.
Anwendungsfälle
var url = "http://localhost:8080/xiaojin?state=11&name=xiaojin&other=开心";
escape(url)
'http%3A//localhost%3A8080/xiaojin%3Fstate%3D11%26name%3Dxiaojin%26other%3D%u5F00%u5FC3'

2. encodeURI und decodeURI (seltener verwendet)

Vorsichtsmaßnahmen

==Besondere Hinweise: Es gibt 82 Zeichen, die encodeURI nicht kodiert:!, #, $, &, ', (,), *, +,,,-,.,/,:,;,= , ?, @, _, ~, 0-9, a-z, A-Z ==

Einführung in die Nutzung

Konvertieren Sie URI-Strings mithilfe des UTF-8-Codierungsformats in verschiedene Escape-Strings.
encodeURI() wird im Allgemeinen zum Codieren der gesamten URL verwendet

Anwendungsfälle
var url = "http://localhost:8080/xiaojin?state=11&name=xiaojin&other=开心";
encodeURI(url)
'http://localhost:8080/xiaojin?state=11&name=xiaojin&other=%E5%BC%80%E5%BF%83'

3. encodeURIComponent und decodeURIComponent (häufig verwendet)

Vorsichtsmaßnahmen

==Besondere Hinweise: Dies ist einfacher zu verwenden, da „; / ? : @ & = + $ , #“ alle codiert werden. ==

Einführung in die Nutzung
  • Normalerweise verwende ich dies zur Parameterübergabe
  • Es wird verwendet, um Komponenten einer URL einzeln zu kodieren, anstatt die gesamte URL zu kodieren.
  • Verwenden Sie das UTF-8-Kodierungsformat, um eine Zeichenfolge im Escape-Format zu konvertieren.
  • Parameter, die Sonderzeichen enthalten, können zu Unterbrechungen führen.
Anwendungsfälle
var url = "http://localhost:8080/xiaojin?state=11&name=xiaojin&other=开心";
encodeURIComponent(url)
'http%3A%2F%2Flocalhost%3A8080%2Fxiaojin%3Fstate%3D11%26name%3Dxiaojin%26other%3D%E5%BC%80%E5%BF%83'
Das ist alles für heute~
  • Freunde, ( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝBis morgen~~
  • Bitte seid alle jeden Tag glücklich

Jeder ist herzlich eingeladen, im Artikel auf Bereiche hinzuweisen, die einer Korrektur bedürfen~
Das Lernen und die Win-Win-Zusammenarbeit nehmen kein Ende

Fügen Sie hier eine Bildbeschreibung ein

Begrüßen Sie die vorbeikommenden Brüder und Schwestern, um eine bessere Meinung abzugeben ~~

Supongo que te gusta

Origin blog.csdn.net/tangdou369098655/article/details/133821323
Recomendado
Clasificación