Unescape Python-Strings Aus der HTTP -
Habe ich einen string aus einem HTTP-header, aber es ist entkommen.. welche Funktion kann ich verwenden, um unescape es?
myemail%40gmail.com -> myemail@gmail.com
Wäre das urllib.unquote() der Weg zu gehen?
InformationsquelleAutor der Frage Ian | 2009-04-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir ziemlich sicher, dass das urllib ist
Zitat Ende
ist der gemeinsame Weg, dies zu tun.Gibt es auch
unquote_plus
:InformationsquelleAutor der Antwort Paolo Bergantino
Ja, es scheint, dass
das urllib.unquote()
erledigt diese Aufgabe. (Ich getestet gegen dein Beispiel auf codepad.)InformationsquelleAutor der Antwort las3rjock
In Python 3 diese Funktionen sind
das urllib.analysiert werden können.Zitat Ende
unddas urllib.analysiert werden können.unquote_plus
.Letzteres ist zum Beispiel für query-strings im HTTP-URLs, wo das space-Zeichen (
) sind traditionell codiert als plus-Zeichen (
+
), und die+
ist Prozent-codiert%2B
.Neben diesen gibt es die
unquote_to_bytes
, wandelt die gegebene codierte Zeichenfolge zubytes
die verwendet werden können, wenn die Kodierung nicht bekannt ist oder die kodierten Daten Binär-Daten. Allerdings gibt es keineunquote_plus_to_bytes
wenn Sie es brauchen, die Sie tun können:Mehr Informationen auf, ob
unquote
oderunquote_plus
ist erhältlich bei Die URL-Codierung der Leerzeichen: + oder %20.InformationsquelleAutor der Antwort Antti Haapala