Heim > Backend-Entwicklung > PHP-Tutorial > [PHP] Beschreiben Sie kurz die Unterschiede zwischen URL-Code und RAW-URL-Code

[PHP] Beschreiben Sie kurz die Unterschiede zwischen URL-Code und RAW-URL-Code

little bottle
Freigeben: 2023-04-05 22:38:02
nach vorne
2350 Leute haben es durchsucht

In diesem Artikel geht es hauptsächlich um die Unterschiede zwischen URL-Code und RawURL-Code in PHP. Interessierte Freunde können mehr darüber erfahren.

Hintergrund der Veranstaltung:

Ich habe von Daniel gehört, dass bei der Entwicklung von h5-Minispielen zuvor das Back-End benutzerbezogene Informationen an das Front-End ausgeben musste Der Ausgabeinhalt umfasste: Benutzer-ID, Benutzer-Spitzname und andere Felder. Verwenden Sie die get-Methode, um Parameter zu übergeben. Das Backend verwendet die PHP-Sprache, um chinesische Spitznamen zu formatieren und zu kodieren, wobei die häufig verwendete URL-Code-Funktion verwendet wird.

Problem tritt auf:

Verwenden Sie die URL-Code-Funktion zum Formatieren. Die URL-Code-Funktion codiert Leerzeichen als: +

Von Natürlich kann das Frontend beim Empfang + dekodieren und durch Leerzeichen ersetzen. Dies ist jedoch ein zusätzlicher Schritt, der sehr mühsam ist. Manchmal wird unsere Datenschnittstelle für Dritte oder andere entwickelt, und diese folgen bei der Verarbeitung möglicherweise nicht unbedingt dieser Idee.

Wenn das Frontend beispielsweise Python verwendet, um es zu empfangen, es direkt zu dekodieren und anzuzeigen, hat der Spitzname ein +-Zeichen.

Lösung:

Verwenden Sie rawurlencode

In PHP kodiert URL-Code Leerzeichen als +-Zeichen. rawurlencode kodiert Leerzeichen als %20

PHP-HandbuchErklärung der beiden Funktionen von :

urlencode: Gibt eine Zeichenfolge zurück, außer -_, gefolgt von zwei hexadezimalen Ziffern. Diese Kodierung ist dieselbe wie die Kodierung von WWW-Formular-POST-Daten und dieselbe wie die Medientypkodierung von application/x-www-form-urlencoded. Aus historischen Gründen unterscheidet sich diese Kodierung von der RFC1738-Kodierung (siehe rawurlencode()) darin, dass Leerzeichen als Pluszeichen (+) kodiert werden.

rawurlencode: Gibt eine Zeichenfolge zurück, in der alle nicht-alphanumerischen Zeichen außer -_ durch ein Prozentzeichen ersetzt werden (%) gefolgt von zwei hexadezimalen Ziffern. Diese in RFC 1738 beschriebene Codierung soll verhindern, dass Literalzeichen als spezielle URL-Trennzeichen interpretiert werden, und das URL-Format vor einer Verstümmelung durch Zeichenkonvertierungen schützen, die vom Transportmedium (wie bei einigen Mailsystemen) verwendet werden.

Wenn Sie also PHP zum Übertragen der chinesischen Kodierung verwenden, verwenden Sie Rawurlencode

Verwandte Kurse: PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt von[PHP] Beschreiben Sie kurz die Unterschiede zwischen URL-Code und RAW-URL-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage