UTF-8% - Codierung und python
Ich versuche python zu geben, mich Prozent-kodierte strings. Die API-ich bin die Interaktion mit (was ich denke, ist mit Prozent-codierte UTF-8), gibt %c3%ae für î. Allerdings, python ist das urllib.Zitat gibt %3F.
import urllib
mystring = "î"
print urllib.quote(mystring)
print urllib.quote_plus(mystring)
print urllib.quote(mystring.encode('utf-8'))
Jede Hilfe dankbar.
- Ich habe ausgeführt, Ihren code, druckt es
%C3%AE
.%3F
, btw, ist?
char kodiert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Datei hat zum Kodieren der Zeichenkette als
utf-8
bevor Sie zu zitieren, und sollte die Zeichenfolge von unicode. Auch müssen Sie die entsprechende Datei encoding für alle Quell-Datei in diecoding
Abschnitt:Gibt mir die Ausgabe:
utf-8
codierten Datei?import urllib.parse
und dannurllib.parse.quote
.Ist, weil Sie nicht deklarieren, die Kodierung der Datei ist, also Python ist abzuleiten aus Ihrem aktuellen
locale
Konfiguration. Ich werde Sie vorschlagen, um dies zu tun:Und auch stellen Sie sicher, dass Ihre
file.py
ist immer auf der Festplatte gespeichert, mitutf-8
Codierung.Für mich ergibt:
Paar Vorsichtsmaßnahmen. Wenn Ihr versucht, diese aus dem interpreter, der
# -*- coding: utf-8 -*-
wird nicht funktionieren, wenn die Konsole Codierung ist nichtutf-8
. Stattdessen sollten Sie es ändern, um was auch immer-encoding der Konsole mit:# -*- coding: (encoding here) -*-
.Dann sollten Sie Dekodieren Sie Ihre string in
Unicode
mitdecode
- Methode, und übergeben Sie die den Namen der Kodierung Ihrer Konsole als argument:Und später gehen Sie zu
urllib
codiert, wieutf-8
:Hoffe, das hilft!