Ich versuche, Inhalte von einer Wörterbuchseite wie Ссылка
herunterzuladenDas Problem, das ich habe, ist, dass der ursprüngliche Absatz all diese verzerrten Linien und umgekehrten Buchstaben hat, und so, wenn ich die lokalen Dateien lese, lande ich mit diesen komischen Escape-Zeichen wie \ x85, \ xa7, \ x8d usw.
Meine Frage ist, gibt es eine Möglichkeit, all diese Escape-Zeichen in ihre jeweiligen UTF-8-Zeichen zu konvertieren, zB wenn es ein "A" gibt, wie konvertiere ich das in einen Standard "a"?
Python-Aufrufcode:
%Vor%Ich benutze wget-1.11.4-1 auf einem Windows 7-System (töte mich nicht Linux-Leute, es war eine Client-Anforderung), und die wget-Exe wird mit einer Python 2.6-Skriptdatei abgefeuert.
Wie konvertiere ich all diese Escape-Zeichen in ihre jeweiligen Zeichen, wenn es einen Unicode gibt à , wie konvertiere ich das in ein Standard a ?
Angenommen, Sie haben Ihren Unicode in eine Variable namens my_unicode
... normalizing à in ein is so simple ... geladen.
Explizites Beispiel ...
%Vor% Funktionsweise
unicodedata.normalize('NFD', "insert-unicode-text-here")
führt eine Kanonische Zerlegung (NFD) durch der Unicode-Text; dann verwenden wir str.encode('ascii', 'ignore')
, um die NFD-abgebildeten Zeichen in ASCII umzuwandeln (Fehler zu ignorieren).
Die angegebene URL gibt UTF-8 zurück, da die HTTP-Antwort eindeutig anzeigt:
%Vor%Die Untersuchung der gespeicherten Datei mit vim zeigt auch, dass die Daten korrekt utf-8-codiert sind ... das Gleiche gilt für das Abrufen der URL mit Python.
Tags und Links python unicode wget normalization unicode-normalization