Python Konvertierung von latin1 auf UTF8
In Python 2.7, wie konvertieren Sie eine latin1-string nach UTF-8.
Zum Beispiel, ich bin versucht zu konvertieren é auf utf-8.
>>> "é"
'\xe9'
>>> u"é"
u'\xe9'
>>> u"é".encode('utf-8')
'\xc3\xa9'
>>> print u"é".encode('utf-8')
é
Der Brief ist é, die LATIN SMALL LETTER E WITH ACUTE (U+00E9)
Die UTF-8-byte-Codierung ist: c3a9
Die Latein-byte-Kodierung: e9
Wie bekomme ich die UTF-8 kodierte version einer lateinischen string? Könnte jemand ein Beispiel geben, wie zu konvertieren é?
- Haben Sie Lesen Sie die Python-Unicode-HOWTO noch? Wenn nicht, sollten Sie!
- Ich habe, aber das encoding ist immer ein bisschen verwirrend.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Decodieren, die eine byte-Sequenz, die von latin-1 Unicode, verwenden Sie die
.decode()
Methode:Python verwendet
\xab
entweicht, die für unicode-codepoints unten\u00ff
.Den oben genannten Latin-1 Zeichen kodiert werden können, um UTF-8 als:
Du hast ein UTF-8-kodierte byte-Folge. Versuchen Sie nicht zu drucken codierte bytes direkt. Zum drucken benötigen Sie zum Dekodieren der kodierten bytes wieder in einen Unicode-string.
Bemerken, dass die Kodierung und Dekodierung sind gegenüber Operationen, die effektiv zunichte. Sie am Ende mit der ursprünglichen
u"é"
string zurück, obwohl Python druckt es als äquivalentu'\xe9'
.Ich dies tun, ich bin nicht sicher, ob das ist ein guter Ansatz, aber es funktioniert jedes mal !!