Heim > Java > javaLernprogramm > Warum kodiert URLEncoder Leerzeichen als „' statt „'?

Warum kodiert URLEncoder Leerzeichen als „' statt „'?

DDD
Freigeben: 2024-11-11 06:47:02
Original
856 Leute haben es durchsucht

Why Does URLEncoder Encode Spaces as ' ' Instead of ' '?

URLEncoder-Rätsel: Leerzeichenkodierung verstehen

Beim Versuch, eine Zeichenfolge mit URLEncoder zu kodieren, kann es zu einem unerwarteten Verhalten kommen, bei dem Leerzeichen statt in „ “-Symbole umgewandelt werden der erwartete Hexadezimalcode.

Ursache

Die URLEncoder-Klasse hält sich an die HTML-Spezifikationen für die Codierung von URLs in HTML-Formularen. Gemäß diesen Spezifikationen sollten Leerzeichen durch „ “-Symbole für Parameter im application/x-www-form-urlencoded MIME-Format ersetzt werden.

Lösung

Um die gewünschte Kodierung zu erreichen, bei der Leerzeichen konvertiert werden bis „ “ können Sie die folgenden Schritte ausführen:

String encodedString = java.net.URLEncoder.encode("Hello World", "UTF-8");
encodedString = encodedString.replace("+", "%20");
Nach dem Login kopieren

Dadurch werden alle „ “-Symbole durch „ “ ersetzt, was zu einer korrekten Codierung gemäß Ihren Erwartungen führt.

Das obige ist der detaillierte Inhalt vonWarum kodiert URLEncoder Leerzeichen als „' statt „'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage