URL-codierte UTF-8-Zeichenfolgen in Python dekodieren
Bei der Arbeit mit URLs stoßen Sie möglicherweise auf Zeichenfolgen, die mit UTF-8 codiert wurden. 8 und mit URL-Anführungszeichen maskiert. Um die richtigen Daten aus diesen Zeichenfolgen zu extrahieren, müssen Sie sie dekodieren.
In Python 2.7 können Sie urllib.unquote() verwenden, um URL-kodierte Daten zu dekodieren. Diese Methode gibt jedoch Bytes zurück, daher müssen Sie sie weiter dekodieren:
<code class="python">from urllib import unquote url = unquote(url).decode('utf8')</code>
In Python 3 und höher wurde das urllib-Paket in urllib.request, urllib.parse und urllib.error aufgeteilt. Um URL-kodierte Daten zu dekodieren, sollten Sie urllib.parse.unquote() verwenden:
<code class="python">from urllib.parse import unquote url = unquote(url)</code>
Diese Methode verarbeitet sowohl die URL-Kodierung als auch die UTF-8-Dekodierung und liefert als Ergebnis eine Unicode-Zeichenfolge.
Zum Beispiel:
<code class="python">>>> from urllib.parse import unquote >>> url = 'example.com?title=%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D0%B2%D0%B0%D1%8F+%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B0' >>> unquote(url) 'example.com?title=правовая+защита'</code>
Mit urllib.parse.unquote() können Sie URL-codierte UTF-8-Zeichenfolgen einfach dekodieren und so sicherstellen, dass Sie die richtigen Daten erhalten.
Das obige ist der detaillierte Inhalt vonWie dekodiere ich URL-kodierte UTF-8-Strings in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!